可执行文件是否具有与运行它的用户相同的文件权限?



在Unix中,如果我运行一个垃圾文件的二进制文件,该二进制文件是否与我自己(运行二进制文件的用户(具有相同的文件权限?

在大多数情况下,答案是肯定的!

但是,如果您在该二进制文件上启用了setuid,则setgid位,则不正确。

启用了setuid的二进制文件的经典示例。

ls -ltra `which passwd`

如果该命令在执行期间无法授予您(执行命令的用户(与 root 相同的权限来修改/etc/password/etc/shadow等文件,则该命令将无法工作

看看:

https://docs.oracle.com/cd/E19683-01/816-4883/secfile-69/index.html

setuid 权限

在 可执行文件,运行此文件的进程被授予访问权限 在文件的所有者(通常是 root(上,而不是在 运行可执行文件。此特殊权限允许用户 访问通常仅对 所有者。

设置权限

集合组标识 (setgid( 权限类似于 setuid, 除了进程的有效组 ID (GID( 更改为 文件的组所有者,并且根据 授予该组的权限。/usr/bin/mail 命令具有 设置权限

您可能还想看看fork,如果您想进一步了解 Linux 如何管理进程和子进程,exec

最新更新