一、sudo命令

sudo [参数选项] 命令

参数选项

-l:列出目前用户可执行与无法执行的指令;
-v:延长密码有效期限5分钟;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-p:改变询问密码的提示符号;
-s<shell>:执行指定的shell;
-V :显示版本信息。

注意:

# 远程sudo加-t参数

二、sudo配置

Visudo Manual

# 配置文件位置
/etc/sudoers root ALL=(ALL) ALL
用户 机器 角色 命令 # 编辑配置文件
# 1。推荐使用visudo来编辑
# 2。批量管理用
echo "%sa ALL=(ALL) ALL" >> /etc/sudoers
# 检查配置文件语法
visudo -c
# 检查配置文件权限

2.1 主机别名

说明:

配置时注意写法
一般不用主机别名

2.2 用户别名

2.3 命令别名

2.4 身份别名

Runas_Alias OP = root, vagrant

2.5 使用别名

类似于rbac,用户别名就是角色,命令别名就是资源权限

# 用户别名
User_Alias ADMIN = vagrant, yysue
# 命令别名
Cmnd_Alias USERCMD = /sbin/useradd, /bin/passwd
Cmnd_Alias SOFTCMD = /bin/rpm, /usr/bin/yum
# 身份别名
Runas_Alias OP1 = root, vagrant
# 关联
ADMIN ALL=(OP1) USERCMD, SOFTCMD

三、sudo审计

sudo日志审计:记录sudo命令的用户的操作

所谓日志审计,就是记录所有系统及相关用户行为的信息,并且可以自动分析、处理、展示

  • 通过环境变量命令及rsyslog服务进行全部日志审计(信息太大,不推荐)
  • sudo配合rsyslog服务,进行日志审计(审计信息少,效果不错)
  • 在bash解释器程序里嵌入一个监视器,让所有被审计的系统用户使用修改过的增加了监视器的特殊bash程序作为解释程序
  • 齐治的堡垒机:商业产品
  • Python开发的开源产品
    • jumpserver
    • CrazyEye

3.1 配置(CentOS6)

1)检查是否安装sudo/rsyslog

# 检查
rpm -qa sudo rsyslog
# 安装
yum install sudo rsyslog -y

2)配置/etc/sudoers

# 追加一行配置:日志输出
echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers # 验证
tail -1 /etc/sudoers
grep 'Defaults' /etc/sudoers # 检查语法
visudo -c

3)配置/etc/rsyslog.conf(可以不配置)

echo "local2.debug /var/log/sudo.log" >> /etc/rsyslog.conf

通过sudo运行的命令都被记录到配置的日志文件了

3.2 日志集中管理

rsync+inotify或定时任务+rsync,推到日志管理服务器上, ip_date.sudo.log

rsyslog服务来处理

日志收集解决方案:scribe,Flume,stom,logstash ELK

CentOS下sudo的使用和sudoers配置的更多相关文章

  1. CentOS下通过yum安装svn及配置

    CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...

  2. CentOS下Samba文件服务器的安装与配置

    CentOS下Samba文件服务器的安装与配置 http://blog.csdn.net/limingzhong198/article/details/22064801 一.安装配置 1. 安装sam ...

  3. centos下apache+mysql+php安装及配置

    今天难得休闲,自从加盟当前公司以来好像就基本没有写过博客了.难得闲下来和前同事聊天,他们几个人合伙买了VPS在用.这对我们搞WEB开发的童鞋来说是非常重要的,我来这家公司有许久了,但是竟然到现在连一台 ...

  4. Centos下MongoDB数据库的安装以及配置开机自启动(三)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...

  5. Linux Centos下SQL Server 2017安装和配置

    说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境 ...

  6. Centos下Oracle11gR2安装教程与自动化配置脚本

    系统环境准备 开发组件与依赖库安装 安装centos时选择Server with GUI,右面的可以不勾选,后面统一来装 配置本地yum源 以上包如果缺乏可配置本地yum源进行安装 sudo moun ...

  7. 阿里云、腾讯云、CentOS下的MySQL的安装与配置详解

    一. 安装 查看是否已安装 # 查看MySQL版本 mysql --version # 查看MySQL相关文件 whereis mysql 若已安装,卸载方法如下 # 卸载MySQL yum remo ...

  8. centOs下的php+mysql+apache+ftp配置

    在安装服务器时做了相应的笔记,这个方法是亲身经验成功的,随着版本的不断更新,也许会有一些地方不同,但是基本原理都是一样的. 1.安装CentOS 6 ,可以选择最小安装,也可以安装桌面 2.升级系统 ...

  9. centos下JDK安装及环境变量配置

    由于centos安装自带openjdk,需要将其卸载后安装自己的jdk 卸载centos自带jdk 1.查找java :rpm -qa | grep java 2.卸载时提示权限不够,进入root目录 ...

随机推荐

  1. apollo规划控制视频-13 motion planning with autonomous driving

  2. 《剑指offer》面试题1:赋值运算函数

    面试题1:赋值运算函数 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数 class CMyString { public: CMyString(char* pData = NU ...

  3. pycharm2019版本可用破解

    1.下载破解文件 点击链接https://pan.baidu.com/s/1FbpXC4-rACrLMfeuVzJGPQ   提取码:hyed 下载补丁文件jetbrains-agent.jar并将它 ...

  4. transformjs 污染了 DOM?是你不了解它的强大

    原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/Powerful-transformjs 写在前面 上星期在React微信群里,有小伙伴觉得tran ...

  5. 前端架构gulp与webpack(知识点整理)

    一 概念介绍 gulp 是 task runner,Webpack 是 module bundler.可以这么说, Webpack 和 gulp 本身都有 95% 的功能是不能被对方替代,或者直接说和 ...

  6. [ Shell ] 通过 Shell 脚本导出 GDSII/OASIS 文件

    https://www.cnblogs.com/yeungchie/ 常见的集成电路版图数据库文件格式有 GDSII 和 OASIS,virtuoso 提供了下面两个工具用来在 Shell 中导出版图 ...

  7. Dockerfile入门

    1.Dockerfile介绍 在之前Docker的使用中,我们直接从仓库下载需要的镜像到本地,然后稍加配置就可以应用了,通常从仓库下载下来的镜像都是通用的,无任何私有化的东西,我们拿过来就需要加很多的 ...

  8. SpringMVC-拦截器快速入门

    1.创建拦截器类实现HandlerInterceptor //该拦截器类必须实现HandlerInterceptor接口,手动覆盖其中的方法 public class MyInterceptor1 i ...

  9. 如何规避容器内做Java堆dump导致容器崩溃的问题

    写在前边 最近公司生产环境的容器云上出了个性能问题,为了做性能分析,使用 JDK 自带的 jmap 收集堆dump,出现了内存溢出导致了容器崩溃. 本篇文章将带你探究,如何规避容器内做堆 dump 导 ...

  10. NodeJs学习日报day9——操作数据库

    const mysql = require('mysql') const db = mysql.createPool({ // 数据库的ip地址 host: 'localhost', user: 'r ...