我有一个简单的脚本,可以在应用程序 ID 下正常运行(只需触及一个新文件),我试图通过我的个人 ID 来调用它。请注意,目标文件位置位于我的个人 ID 无写访问权限的区域(但脚本的所有者有),并且我已在脚本上设置了 SUID 位,但当我将其作为我自己的 ID (myID myGrp) ,它给予触摸拒绝的权限。
该脚本的设置是正确的:
-rwsrwxr-x appID appGrp 1.sh
(仅包含touch /myDir/1
)
这就是 suid 位的真正目的,但它并没有发挥其应有的作用。请注意,目标目录的权限如下:
drwxrwxr-x appID appGrp myDir
我不想为目录打开 w ON。违背了目的。我也不想打开目录上的粘滞位。
我还检查了我的挂载并确保 dir 所在的文件系统(在本例中为 /app)没有设置 NOSUID,因此它也很干净。没有用 nosuid 挂载。
我怎样才能解决这个问题?
答案1
这是一个在当时非常有用的功能。在某些时候,一些人开始滥用它,并开始在某些版本的 UNIX 中禁用它。那时我们还没有 sudo,所以人们可能使用 sudo 做的很多事情都是通过设置了 setuid 位的脚本文件来完成的。