CentOS/Red Hat:Sudo允许组管理员中的人运行所有命令
时间:2020-01-09 10:41:59 来源:igfitidea点击:
如何在CentOS或者Red Hat Enterprise Linux下设置sudo,以允许admin组的所有成员运行所有命令?
/etc/sudoers文件允许特定用户或者组以root用户身份运行各种命令,而无需root密码。
这对于将角色和权限委派给其他用户而不共享root密码很有用。
必须使用visudo命令编辑此文件。
以root用户身份登录并执行:
# visudo
追加以下行:
## Allows people in group admin to run all commands %admin ALL=(ALL) ALL
保存并关闭文件。
最后,添加一个名为admin的组:
# groupadd admin
将名为Hyman(现有用户)的用户添加到组admin:
# usermod -a -G admin Hyman
验证组成员身份:
# id Hyman
输出示例:
uid=5001(Hyman) gid=5001(Hyman) groups=5001(Hyman),10(admin)
以用户Hyman身份登录并以根类型运行任何命令:
$ sudo /etc/init.d/httpd restart
要获得root shell,请执行:
$ sudo -s
当提示您输入密码时,输入插孔密码。
如何跟踪管理员组中的所有用户?
sudo可以将成功尝试和失败尝试(以及错误)记录到syslog(默认值为/var/log/secure),日志文件或者同时记录到syslog。
默认情况下,sudo将通过syslog进行记录,但这可以在配置时或者通过sudoers文件进行更改。
# tail -f /var/log/secure # grep something /var/log/secure
请注意,sudo通常只会记录它明确运行的命令。
如果用户运行诸如sudo su或者sudo sh之类的命令,则从该shell运行的后续命令将不会被记录,并且sudos访问控制也不会影响它们。