在 Linux 中,目录权限有 SUID、SGID 和粘滞位。
我非常清楚文件或文件夹上的粘性和 SGID 位。
但是如果我在目录上应用 SUID 位会发生什么?
例如,如果我对某个文件应用 SGID 位,则启动此文件的进程将使用该文件组的有效组 ID,而不是调用该文件的用户的主组。如果对某个文件应用 SUID 位,情况也一样:它将以所有者作为有效用户运行。
例如,只要您在目录上应用 SGID 位,这种情况就会改变chmod -R 2770 /var/testdir/
。现在,即使创建者的主要组不同,在其中创建的所有新文件和文件夹都/var/testdir/
将继承相同的组/var/testdir/
。此外,子目录也将继承 SGID 位。
但是如果你在目录上应用 SUID 位会发生什么?我没有找到有关这种情况的任何信息。
另外,如果在同一个文件夹上应用 SGID 和 SGID 位会发生什么情况?
答案1
GNU Coreutils:目录 Setuid 和 Setgid
27.5 目录和设置用户 ID 位以及设置组 ID 位
在大多数系统中,如果设置了目录的 set-group-ID 位,则新创建的子文件将继承与目录相同的组,而新创建的子目录将继承父目录的 set-group-ID 位。在少数系统中,目录的 set-user-ID 位对新子文件的所有权和新子目录的 set-user-ID 位具有类似的影响。这些机制让用户更轻松地共享文件,减少了使用 chmod 或 chown 共享新文件的需要。