chmod 775
和 和有什么区别chmod 2755
?
答案1
775 前面的 2 是setgid
“组 ID”。
(设置组ID)位有什么setgid
用?
setgid 会影响文件和目录。
当对目录应用 setgid 权限时,在此目录中创建的文件属于该目录所属的组。任何在该目录中具有写入和执行权限的用户都可以在该目录中创建文件。但是,该文件属于拥有该目录的组,而不属于用户的组所有权。该目录中的文件将具有与父目录的组相同的组。
当用于文件时,它以拥有该文件的用户组的权限执行,而不是以执行该文件的用户组的权限执行。
资料来源:
https://www.geeksforgeeks.org/setuid-setgid-and-sticky-bits-in-linux-file-permissions/ https://docs.oracle.com/cd/E19683-01/816-4883/secfile-69/index.html
有关组 ID 的更多信息:
登录时,密码文件 ( /etc/passwd
) 查找您的登录用户 ID 并确定您的数字用户 ID 和一个初始组用户 ID。然后,组文件 ( /etc/group
) 会为您分配其他组 ID(如果有)。然后,系统启动一个 shell,该 shell 作为您唯一的数字用户 ID 运行,并且还具有所有数字组 ID(一个或多个)的权限。
如何为目录设置组 ID:
chmod 2775 /var/www
2
前面的导致775
/var/www 所有者的组被复制到该目录中创建的所有新文件/文件夹中。
还有其他选项2:
0: setuid, setgid, sticky bits are unset
1: sticky bit is in place
2: setgid bit is in place
3: setgid and sticky bits are in place
4: setuid bit is in place
5: setuid and sticky bits are in place
6: setuid and setgid bits are on
7: setuid, setgid, sticky bits are activated
来源:http://www.dba-oracle.com/t_linux_setuid_setgid_sicky_bit.htm
可以在 /etc/group 文件中检查组 ID 中的组名称:
group_name:password:GROUP_ID
答案2
从man chmod
:
2000 (the setgid bit). Executable files with this bit set will
run with effective gid set to the gid of the file owner.