# set_gid - g的特殊权限 set_gid可以用在文件和目录上,它允许文件或目录的属组被修改。 * 文件:类似于set_uid,普通用户执行的时候临时拥有属组group的权限。 * 目录:任何用户在这个目录下创建的文件或目录的属组都会与set_gid的目录的属组相同。 ## 语法 增加: $ chmod g+s file 删除: $ chmod g-s file ## 实例 ### 对目录操作: ``` [root@lwz01 lwz]# chmod g+s 1 [root@lwz01 lwz]# ll total 0 drwxrwsr-x 3 root lwz 14 Aug 14 11:07 1 [root@lwz01 lwz]# mkdir 1/2 [root@lwz01 lwz]# touch 1/3.txt [root@lwz01 lwz]# ll 1/ total 0 drwxr-xr-x 2 root root 6 Aug 14 11:07 1 drwxrwsr-x 2 root lwz 6 Aug 24 14:08 2 -rw-rw-r-- 1 root lwz 0 Aug 24 14:08 3.txt ``` ### 对文件操作: 当前ls命令没有添加gid权限,所以普通用户无法执行 ``` [root@lwz01 lwz]# ll /usr/bin/ls -rwxr-xr-x. 1 root root 117608 Aug 20 2019 /usr/bin/ls [root@lwz01 lwz]# su - lwz Last login: Thu Aug 24 14:00:34 CST 2023 on pts/0 [lwz@lwz01 ~]$ ls /root ls: cannot open directory /root: Permission denied ``` 加上gid权限后,普通用户可以执行ls命令 ``` [root@lwz01 lwz]# chmod g+s /usr/bin/ls [root@lwz01 lwz]# ll /usr/bin/ls -rwxr-sr-x. 1 root root 117608 Aug 20 2019 /usr/bin/ls [root@lwz01 lwz]# su - lwz [lwz@lwz01 ~]$ ls /root 1 error.log openssl-3.0.1.tar.gz test1 z1.com ```