我想允许特定的用户只能使用sudo /sbin/iptables
。
我有一个配置iptables的bash脚本。问题在于,仅配置/sbin/iptables
为sudoable-脚本本身也必须是sudoable。
问题在于该文件可以由用户编辑(他可以在那里更改配置),从而使他能够以root用户身份运行任何命令。
解决此问题的正确方法是什么?
我可以看到两种方法:
允许用户使用/sbin/iptables
通过sudo
没有任何限制(这是危险的东西,这意味着你信任的用户以某种方式),并与用户的权限运行该脚本。该脚本将在sudo
每次/sbin/iptables
需要时调用。假设脚本执行很快,因为最终将需要定期输入一些密码¹。
/sbin/iptables
不受限制地使用是危险的事情。允许用户仅通过调用脚本sudo
。
/sbin/iptables
受脚本限制。关于您提到的问题:如果脚本是所有者拥有的root
并且具有通常的权限:rwxr-xr-x
,其他用户则不能修改它,他们只能执行它(最终通过sudo
以获得更多特权)。
对于解决方案2,对于外壳程序脚本(与更健壮的二进制文件/程序相比),请当心环境变量和一些可以修改脚本执行的外部因素。检查您的sudo配置是否正确重置了每个潜在有害变量的定义。
—
1.实际上,sudo
可以根据NOPASSWD
需要进行配置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句