没有sudo使用粘性位安装?

我正在尝试编写一个shell脚本来挂载循环设备,并且我将这个脚本粘贴到一个位置来执行,就像uid(root)一样(这是针对服务器上的其他用户)问题是我似乎无法运行'mount'命令,而不在前面使用sudo。 当我在root帐户,我可以运行“挂载”命令没有任何问题,所以我想通过设置脚本与rws-r_x-r_x会做到这一点。

我误解了使用粘滞位的概念吗? 或者还有其他方法吗?

服务器在Ubuntu 10.04下运行

你的意思是setuid位,而不是sticky 。 内核不遵守脚本上的setuid位。 内核开始读脚本来执行脚本,但是它看到#!/path/to/interpreter并且发现了这个问题。它需要被解释。 然后直接取消“执行”脚本并调用指定的解释器,将脚本名称作为第一个参数(以及之后的所有后续参数)。 设置UID的原因在这个实例中是不安全的,那就是攻击者可能会改变在设置新UID的内核和解释器读取文件之间执行的脚本。

*:另一篇文章提到perl处理脚本的方式可以是suid。


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