为什么我无法为“其他”设置 setuid?

All*_*exj 2 bash setuid permissions chmod setgid

我无法设置其他人的 setuid 位。为什么?有安全锁吗?

$ ls -l                                                                              
-rwxrwxr-x  1 allexj allexj 16784 Mar 11 17:30 a.out                                                                                                       
$ chmod o=+s a.out                                                              
$ ls -l                                                                              
-rwxrwx---  1 allexj allexj 16784 Mar 11 17:30 a.out
Run Code Online (Sandbox Code Playgroud)

Whi*_*Owl 5

man chmod

有一个专门的章节是关于 setuid 和 setgid 的。

但首先,仔细看看名称:set u id、set g id。

对于其他的应该设置o id 位。但它并不存在,因为拥有这样的一点是没有意义的。

  • 可执行文件上的 setuid 和 setgid 强制该可执行文件以文件所有者组的权限运行。如果是“设置其他id”,我们应该将权限切换给谁? (5认同)