用visudo,或者vim /etc/visudoers,在98行下面编辑,不过也可以在别的地方输入。

QQ截图20171126211945.png

QQ截图20171126213016.png


sudo详解_第1张图片


QQ截图20171126214131.png

kd用户因为有nopasswd权限,所以kd用户切换到root时,就没要输入密码


curry用户有useradd命令使用权限

sudo详解_第2张图片

sudo详解_第3张图片

但是前面要加sudo执行,不然还是没有权限



命令用逗号隔开,命令要全路径

运维人多时,加一个组,然后给组授权

sudo -l 查看有什么权限


sudo详解_第4张图片


做个试验

普通用户kobe是没法修改/etc/sudoers,因为没有权限

QQ截图20171126225430.png

例如用cat,sed就不能修改

但是如果用root给用户kobe,增加sudo sed的权限

sudo详解_第5张图片

这句可以这么理解,就是kobe用户,可以在所有机器上,以所有用户的身份,来执行sed,也就是可以用root的用户来执行了,修改sudoers就没有问题了

sudo详解_第6张图片

验证:

QQ截图20171126230024.png

又忘记用sudo了

切换到root就没要求密码


输入口令,5分钟内不再要输

sudo详解_第7张图片

还可以把这两个删掉,试下还要不要输入密码

sudo详解_第8张图片

参数说明:

sudo详解_第9张图片

QQ截图20171126231308.png


这里不仅用visudo,以及vim配置文件可以修改,

上面用到的echo,sed,cat都能实现

不过就是改完后,一定要进行语法检查sudo -c

sudo详解_第10张图片

并且确保文件权限440

QQ截图20171126231626.png

Centos6权限不对也可以登录,但是440是最安全的

牢记root密码,万一有问题su - 可以回root修改


关于四个别名的定义


sudo详解_第11张图片

root ALL=(ALL) COMMAND  主机别名对应位置


sudo详解_第12张图片

root ALL=(ALL) COMMAND  用户别名对应位置


sudo详解_第13张图片

root ALL=(ALL) COMMAND  身份别名对应位置 

就是以哪个用户的身份执行

例如:OP=root,testout 就是可以sudo过去的用户


3.png

sudo详解_第14张图片


总结:

sudo详解_第15张图片


要求:

sudo详解_第16张图片

前期准备工作,增加用户,组,给定密码

sudo详解_第17张图片

sudo详解_第18张图片

修改sudoers文件:

sudo详解_第19张图片

sudo详解_第20张图片

Cmnd_Alias 要大写


检查是否正确:

sudo详解_第21张图片


sudo详解_第22张图片


sudo详解_第23张图片



1、授权规则中的所有ALL字符串必须大写字母

2Cmnd_Alias  USERCMD = /usr/sbin/useradd,\

  !/user/bin/passwd               “\“代表:换行符

3、可以有正则,也可以有!(取反)


配置文件中有这么一段:

blob.png

禁止通过ssh远程执行sudo命令

且格式为: ssh hostname sudo

因为会显示明文密码,如果要使用,

可以ssh -t hostname sudo 的方式来执行,或者在配置文件中注释掉


sudo详解_第24张图片

配置sudo命令用户行为日志审计

只记录,执行sudo命令的用户的操作

sudo详解_第25张图片

试验:

已安装

blob.png

没有的话,就yum install sudo syslog –y


配置文件增加一句

blob.png

检查语法

 

用普通用户执行几条sudo命令,再查看这个日志文件:记录在里面了就

sudo详解_第26张图片

最后一条,虽然没有权限执行,但是只要是用了,还是会记录。


sudo详解_第27张图片

blob.png