我想阻止sudo
执行不属于 root 的文件。
因此,为了允许 sudo 运行这样的文件,我希望该文件是:
chown root:root filename
chmod go-w filename
可以用sudo
这种方式限制吗?
它也应该被图形化sudo
的运行器(gksudo、kdesudo 等)继承,但我认为这可能太棘手了,但不确定。
答案1
这确实是一个有趣的想法,但并非没有问题。
您可以添加一个“semiadmin”组(您选择的名称),将用户放在该组中而不是“sudo”组中,然后/etc/sudoers
使用通配符添加行以匹配 root 拥有的命令所在的常见位置:
%semiadmin (ALL)=/usr/bin/*,/bin/*,/sbin/*
这种方法的问题在于您还需要阻止某人使用任何编辑器(或visudo
),或者让他们编辑他们的用户...如果他们可以这样做,他们就可以提升他们的权限。
简而言之,指定您希望他们使用哪些命令要容易得多。
您已清除漏洞的命令列表。
答案2
以非 root 文件的所有者身份登录,并使用此命令撤销其他用户的执行权限
chmod o-x filename