我想阻止用户使用该su
命令,因此我在/etc/sudoers
文件中阻止了该命令,如下所示:
%group ALL=(ALL:ALL) NOPASSWD:!/bin/su
但是使用 中的这条规则sudoers
,他们无法执行sudo <command>
命令,从而导致错误:
Sorry, user xxxx is not allowed to execute 'command' as root on <host>
有没有程序sudo
依赖的方法su
?
答案1
sudo
不依赖su
.
您的设置会阻止用户运行任何内容,因为它不会授予任何内容:它只会阻止用户使用/bin/su
.你需要NOPASSWD: ALL, !/bin/su
或类似的东西。
但请注意,/bin/su
以这种方式拒绝不会阻止用户复制到su
其他地方并运行该副本。看相关讨论在man sudoers
。
答案2
让 su 密码无法被猜到,你会得到同样的效果。尽管您可能希望防止密码被以这种方式更改。