没有使用粘性钻头的sudo?

时间:2012-03-02 02:00:00

标签: linux sudo mount sticky

我正在尝试编写一个shell脚本来挂载循环设备,我正在为这个脚本分配一个粘滞位来执行uid(root)。(这是针对服务器上的其他用户)问题是我不能似乎在不使用sudo的情况下运行'mount'命令。当我在root帐户时,我可以毫无问题地运行'mount'命令,所以我想通过设置rws-r_x-r_x脚本就可以了。

我是否误解了使用粘性位的概念?或者还有其他方式吗?

服务器在Ubuntu 10.04下运行

1 个答案:

答案 0 :(得分:3)

您的意思是setuid位,而不是sticky位。内核不遵守脚本上的setuid位。 See this post for a thorough description,这是一个总结:要点是脚本上的suid是不安全的。*内核开始阅读脚本来执行它,但它看到了#!/path/to/interpreter并且发现它需要被解释。然后它直接取消“执行”脚本并调用指定的解释器,将脚本名称作为第一个参数传递(以及之后的所有后续参数)。在这种情况下设置UID不安全的原因是攻击者可能会更改在设置新UID的内核和读取文件的解释器之间执行的脚本。

*:另一篇文章提到perl处理其脚本的方式可能会被欺骗。


至于实际的安装问题,请在/etc/fstab/添加一行,并添加user选项。