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

QQ截图20171126211945.png

QQ截图20171126213016.png


QQ截图20171126214030.png


QQ截图20171126214131.png

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


curry用户有useradd命令使用权限

QQ截图20171126223809.png

QQ截图20171126224405.png

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



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

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

sudo -l 查看有什么权限


11.png


做个试验

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

QQ截图20171126225430.png

例如用cat,sed就不能修改

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

QQ截图20171126224831.png

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

QQ截图20171126225253.png

验证:

QQ截图20171126230024.png

又忘记用sudo了

切换到root就没要求密码


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

QQ截图20171126230804.png

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

QQ截图20171126231100.png

参数说明:

11.png

QQ截图20171126231308.png


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

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

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

QQ截图20171126232019.png

并且确保文件权限440

QQ截图20171126231626.png

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

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


关于四个别名的定义


QQ截图20171126232257.png

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


1.png

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


QQ截图20171126233036.png

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

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

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


3.png

4.png


总结:

5.png


要求:

QQ截图20171127011928.png

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

gg.png

ggg.png

修改sudoers文件:

1111.png

2222.png

Cmnd_Alias 要大写


检查是否正确:

A.png


B.png


C.png



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

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

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

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


配置文件中有这么一段:

blob.png

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

且格式为: ssh hostname sudo <cmd>

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

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


blob.png

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

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

blob.png

试验:

已安装

blob.png

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


配置文件增加一句

blob.png

检查语法

 

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

blob.png

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


blob.png

blob.png