我已使用给定的用户名和密码禁用 CentOS 服务器上的可访问性,我允许他们使用公钥访问服务器,但我注意到每个帐户都可以仅使用“sudo su”更改为 root 权限,而无需任何密码提示。是否有可能通过“sudo su”命令“启用/禁用”密码提示?
谢谢
答案1
好像你已经在中设置了类似的内容/etc/sudoers
:
% sudo ALL = (ALL) NOPASSWD: ALL
您实际上已授予 sudo 组中的用户对您的系统的完全不受限制的控制权。其他人指出,试图拒绝他们访问 su 二进制文件是徒劳的,因为他们已经通过 sudo 获得了 root 权限并成为该组的成员。
您应该分析 sudo 组中用户的工作流程,以确定他们需要以 root 身份运行哪些命令,并使用 sudo 为他们授予仅对这些命令的特权访问权限。如有必要,请编写脚本并授予 sudo 组运行脚本的权限(但请确保他们没有写入权限),而不是其中的单个命令。
例如,我公司中需要运行特定命令的用户被添加到文件中,sudoers
如下所示:
appadmin ALL=NOPASSWD: /bin/rm -f /tmp/url_forever.log
noc ALL=(ALL) NOPASSWD: /bin/sh -x
nagios ALL=NOPASSWD: /usr/lib64/nagios/plugins/check_rhcs