Linux 特殊权限 set_gid

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 特殊权限 set_gid相关的知识,希望对你有一定的参考价值。

特殊权限set_gid

set_gid特殊权限 , 是作用在用户组权限位的 , 也是用一个s来表示 .

作用在文件上的时候 , 和set_uid功能一样 , 就是确保组外的普通用户 , 在使用该文件时, 能临时拥有用户组的身份 .

另外 , set_gid特殊权限 , 还可以作用在目录上 . 其作用就是 , 不管当前登陆的是哪个用户 , 只要该目录设置了set_gid权限 , 那么该目录下新建的子目录和子文件的所属组都跟该目录的所属组保持一致 . ps : 在Linux系统中 , 默认情况下, 登陆那个用户 , 新建的文件和目录(子文件,子目录)都属于该用户所在的用户组.

1. 作用在文件上

[[email protected] ~]# ls -l /usr/bin/ls-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[[email protected] ~]# chmod u-s /usr/bin/ls[[email protected] ~]# !lsls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[[email protected] ~]# chmod g+s /usr/bin/ls[[email protected] ~]# !lsls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[[email protected] ~]#

技术分享

技术分享

2. 作用在目录上

1. 目录没有设置set_gid权限的情况> 哪个用户登陆 , 新建的文件/目录(子文件/子目录)就属于该用户的所属组> 栗子1: 登陆普通用户allin
[[email protected] tmp]$ mkdir 234/
[[email protected] tmp]$ ls -ld 234/
drwxrwxr-x. 2 allin1 allin1 6 6月   9 10:52 234/
[[email protected] tmp]$ mkdir 234/123/
[[email protected] tmp]$ ls -ld 234/123/
drwxrwxr-x. 2 allin1 allin1 6 6月   9 10:53 234/123/
[[email protected] tmp]$ touch 234/1[[email protected] tmp]$ ls -l 234/1-rw-rw-r--. 1 allin1 allin1 0 6月   9 10:53 234/1[[email protected] tmp]$

技术分享

> 栗子2 : 登陆root用户
[[email protected] ~]# cd /tmp/[[email protected] tmp]# ls111  1.txt  222  234  allin2  allinlinux  systemd-private-0f4b60569c224727b1ec0153a8598630-vmtoolsd.service-qCx2Tt  tmp
[[email protected] tmp]# mkdir 345/[[email protected] tmp]# ls -ld 345/drwxr-xr-x. 2 root root 6 6月   9 10:56 345/
[[email protected] tmp]# mkdir 345/123/[[email protected] tmp]# ls -ld 345/123/drwxr-xr-x. 2 root root 6 6月   9 10:56 345/123/
[[email protected] tmp]# touch 345/1[[email protected] tmp]# ls -l 345/1-rw-r--r--. 1 root root 0 6月   9 10:56 345/1[[email protected] tmp]#

技术分享

2. 目录设置set_gid权限的情况

> 无论哪个用户登陆 , 在设置了set_gid权限的目录下,新建的子文件/子目录 , 其所属组会和该目录保持一致 , 不受登陆用户影响 . 

> 预设场景 : 在/tmp/目录下, 新建一个目录/666/ , 并把它的所属组更改成user1 ,然后为该目录设置set_uidquanxian , 最后使用root用户进行操作 . 观察结果:
[[email protected] tmp]# ls -l 总用量 4drwxrwxr--. 4 root   root   45 6月   8 21:20 111-rw-rw-r--. 1 root   root   65 6月   8 21:16 1.txt
drwxr-xr-x. 2 root   root    6 6月   8 20:11 222drwxrwxr-x. 3 allin1 allin1 26 6月   9 10:53 234drwxr-xr-x. 3 root   root   26 6月   9 10:56 345drwxr-xr-x. 4 root   root   40 6月   6 21:32 allin2
drwxrwxrwx. 2 allin1 user1  19 6月   8 14:58 allinlinux
drwx------. 3 root   root   17 6月   8 14:15 systemd-private-0f4b60569c224727b1ec0153a8598630-vmtoolsd.service-qCx2Tt
drwxr-xr-x. 4 root   root   28 6月   6 17:16 tmp
[[email protected] tmp]# mkdir 666/[[email protected] tmp]# ls -ld 666/drwxr-xr-x. 2 root root 6 6月   9 11:01 666/
[[email protected] tmp]# chown :user1 666/[[email protected] tmp]# ls -ld 666/drwxr-xr-x. 2 root user1 6 6月   9 11:01 666/
[[email protected] tmp]# chmod g+s 666/[[email protected] tmp]# ls -ld 666/drwxr-sr-x. 2 root user1 6 6月   9 11:08 666/

[[email protected] tmp]#

技术分享

技术分享

> 栗子1 : 登陆超级用户root
[[email protected] tmp]# mkdir 666/111/[[email protected] tmp]# ls -ld 666/111/drwxr-sr-x. 2 root user1 6 6月   9 11:10 666/111/
[[email protected] tmp]# touch 666/1[[email protected] tmp]# ls -l 666/1-rw-r--r--. 1 root user1 0 6月   9 11:10 666/1[[email protected] tmp]#

技术分享


本文出自 “Linux之路” 博客,请务必保留此出处http://allin28.blog.51cto.com/12931477/1933859

以上是关于Linux 特殊权限 set_gid的主要内容,如果未能解决你的问题,请参考以下文章

特殊权限set_uid /特殊权限set_gid/特殊权限stick_bit/软链接文件/硬连接文件

特殊权限set_uid, 特殊权限set_gid,特殊权限stick_bit,软链接文件, 硬连接文件

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_b

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_b

特殊权限set_uid;set_gid;set_bit

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件