2022-01-06 13:55:47
浏览数 (2)
set_gid
- set_gid(s):可作用于文件(二进制可执行文件)和目录。
- 相当于set_gid 设置group组的权限位。
- 可以使用chmod g (-) 【文件名/目录名】 来设置权限。
- 也就是将标志s加到gid的x标志位,sgid用在目录上最多。
set_gid作用
代码语言:javascript
复制- set_gid作用在文件上时,和set_uid效果一致,会使普通用户临时拥有所属组的身份
代码语言:javascript
复制[root@hf-01 ~]# chmod u=rwx /usr/bin/ls 将ls命令权限恢复成默认初始权限
[root@hf-01 ~]# !ls
ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117616 6月 10 2014 /usr/bin/ls
[root@hf-01 ~]# chmod g s /usr/bin/ls 设置set_gid权限
[root@hf-01 ~]# !ls
ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117616 6月 10 2014 /usr/bin/ls
在切换到另一个终端2hf(1)下
[hanfeng@hf-01 ~]$ ls /root/ 将set_gid权限赋给ls,当在其他用户下使用ls命令时,(因为ls的所属组是root,所以就会以root身份来执行)
11.txt 123 234 2.txt 33.txt anaconda-ks.cfg.1 ha.txt hf
[hanfeng@hf-01 ~]$ ls -ld /root/
dr-xr-x---. 5 root root 4096 10月 26 09:41 /root/
set_gid用法——>目录
代码语言:javascript
复制[root@hf-01 ~]# ls -l
总用量 8
-rw-r--r--. 1 root root 0 10月 26 08:39 11.txt
drwxr-xr-x. 2 root root 6 10月 26 08:39 123
drwxrwxr-x. 2 root root 6 10月 26 08:57 234
-rwxrwxrwx. 1 root root 924 10月 25 06:49 2.txt
-rw-rw-r--. 1 root root 0 10月 26 08:56 33.txt
-rw-------. 1 root root 973 8月 21 05:05 anaconda-ks.cfg.1
-rw-rw-r--. 1 root root 0 10月 26 09:41 ha.txt
dr-x--xr-x. 2 root root 18 10月 26 06:56 hf
[root@hf-01 ~]# chmod g s 234 更改234目录的set_gid权限
[root@hf-01 ~]# ls -ld 234
drwxrwsr-x. 2 root root 6 10月 26 08:57 234
[root@hf-01 ~]# chown :hanfeng 234 再来更改234目录所属组的权限
[root@hf-01 ~]# ls -ld 234
drwxrwsr-x. 2 root hanfeng 6 10月 26 08:57 234
[root@hf-01 ~]# touch 234/gurui 在目录234下新建文件gurui
[root@hf-01 ~]# ls -l 234/ 查看所有者和所有组
总用量 0
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
[root@hf-01 ~]# mkdir 234/am 在目录234下新建目录am
[root@hf-01 ~]# ls -l 234/
总用量 0
drwxr-sr-x. 2 root hanfeng 6 10月 27 07:47 am
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
[root@hf-01 ~]# chmod g-s 234 去除set_gid临时权限
[root@hf-01 ~]# touch 234/gurui111 在234目录下新建gurui111文件
[root@hf-01 ~]# !ls 发现在root用户下创建的文件,所有组默认都是root
ls -l 234/
总用量 0
drwxr-sr-x. 2 root hanfeng 6 10月 27 07:47 am
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
-rw-r--r--. 1 root root 0 10月 27 07:48 gurui111
[root@hf-01 ~]# mkdir 234/am1 在目录234下新建目录am1
[root@hf-01 ~]# ls -l 234/ 发现在root用户下创建的目录,所有组默认都是root
总用量 0
drwxr-sr-x. 2 root hanfeng 6 10月 27 07:47 am
drwxr-xr-x. 2 root root 6 10月 27 07:49 am1
-rw-r--r--. 1 root hanfeng 0 10月 27 07:46 gurui
-rw-r--r--. 1 root root 0 10月 27 07:48 gurui111
- 当给一个目录设置了set_gid之后,再去这个目录下面创建子目录和子文件的时候,那这个子文件和子目录的所属组会跟着父级目录(就是刚刚创建的set_gid权限的目录)保持一致。
set_gid总结
- set_gid这个权限的作用,他不仅仅可以作用在文件上,也可以作用在目录上
- 当作用在文件上,和set_uid作用类似,可以让执行文件的普通用户临时拥有所属组的身份。
- 当作用在目录上,在创建子目录和子文件的时候,子目录和子文件所属组和该目录的所属组保持一致