如何:禁止 sudoer 编辑 /etc/sudoers 文件?

如何:禁止 sudoer 编辑 /etc/sudoers 文件?

我如何阻止 sudoer 编辑该/etc/sudoer文件?

答案1

这取决于您授予使用 sudo 的人多少访问权限。如果您授予人们足够的权限,使他们能够不受限制地使用 sudo,那么您几乎必须信任他们。

您可以明确拒绝对 visudo 命令的访问

sudouser ALL=ALL, !/usr/sbin/visudo

然后

$ sudo visudo
[sudo] password for sudouser:
Sorry, user sudouser is not allowed to execute '/usr/sbin/visudo' as root on host1.lan

但是这并不能阻止人们运行 shell 然后运行 ​​visudo

sudo -s
visudo

答对了 !

唯一的其他解决方案是减少人们通过 sudo 访问的范围。要做到这一点,你必须分析他们的权限要求,并通过使用命令别名ETC。

答案2

使用传统的 unix 权限,我认为这很难:只要您可以通过 sudo 运行任何允许您编辑[*] 的命令,那么您就有点麻烦了。

Linux 中还有其他安全模型,尽管部署和配置并不广泛;例如 SELinux 和 AppArmour。您可以配置它们以限制对所需内容的访问。

从“我希望我的 sudo 用户能够做到任何事物“然后剥夺某些特权可能是一种很难做到的事情:有很多方法可以修改 sudoers,而不需要直接编辑(例如,用一个脚本替换邮件启动脚本,我)复制新的 sudoers 然后启动 sendmail;重新启动系统;瞧!)

从这个意义上讲,如果你信任你的用户任何事物到您的系统,那么您必须信任他们对您的系统做任何事情(至少在技术层面上)。

答案3

有点笨重,但您可以设置另一台机器来 ssh 到您的机器,并在发生更改或无法 ssh 时提醒您。这为攻击者提供了一丝机会……但降低了风险。但可能根本无法解决您的特定情况。

答案4

另一种方法:限制全部并让您需要的可用 user_sample ALL=!ALL,/bin/ls,/bin/cat 并限制对 /etc/sudoers 文件的权限访问(400)

相关内容