繁体   English   中英

suid和其他许可(世界许可)有什么区别?

[英]what is the difference between suid and other permission (world permission)?

简单来说,用户在执行文件/程序时将获得文件所有者的权限以及所有者UID和GID。它不会更改文件的所有者。

如果你强加给一个程序:rwsrwxr--或rwxr - rwx

如果我设置SUID权限(对于所有者)或世界权限(其他),有什么区别? 在这两种情况下用户都可以运行程序?

如果你有rwxr - rwx权限,你能够以“其他”的身份运行该程序,但是如果该程序需要访问权限,例如,你没有权限的文件 - 它将失败。

rwsrwxr--甚至不会让你首先将命令作为“其他”运行

因此,您需要自己的x权限才能启动程序,但如果您希望程序承担其所有者的权限,则还需要SUID。

顺便说一下,如果你想试验SUID,请注意,在bash脚本上默认禁用SUID(没有任何效果)

用户是否能够运行程序取决于它是否具有可执行权限。 是设置suid位不会改变所有者。

现在提出你的问题,为世界设置suid并没有任何区别,因为任何用户在运行该程序时都有自己的权限,因此为所有者设置suid位时没有任何意义的任何理由都会让任何用户能够运行它以使用所有者的权限运行。 所以总结运行程序不依赖于suid位而是依赖于x (可执行)perm。

首先,你应该在这个社区中问这个问题。

接下来, 根据这个doc设置suid你将通过onwer权限运行文件。

例如, passwd命令将读取和写入具有rw-r-----权限的/ etc / shadow文件,但是你可以调用该命令,为什么? 隐藏在suid问题中的原因。

因为通过suid位功能_您运行app作为所有者文件用户权限而不是其他用户权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM