【学了就忘Linux权限管理】— 6.文件特殊权限SetGID

一、SetGID

SGID即可以针对文件生效,也可以针对目录生效,这和SUID明显不同。

1、针对文件的作用

针对文件,SGID的含义如下:

(1)只有可执行的二进制程序才能设置SGID权限。

同SUID。

(2)命令执行者要对该程序拥有x(执行)权限。

同SUID。

(3)命令执行在执行程序的时候,组身份升级为该程序文件的属组。
#查看locate命令
[root@localhost ~ ] # ll /usr/bin/locate
-rwx-s--x 1 root slocate 35612    8月 24 2010 /usr/bin/locate

#查看mlocate.db文件
[root@localhost ~ ] # ll /var/lib/mlocate/mlocate.db
-rw-r---1 root slocate 1838850  1月 20 04:29 /var/lib/mlocate/mlocate.db

当普通用户user1执行locate命令时,会发生如下事情:

  • /usr/bin/locate是可执行二进制程序,可以赋予SGID,
  • 执行命令的用户user1,对/usr/bin/locate命令拥有执行权限。
  • 执行/usr/bin/locate命令时,组身份会升级为slocate组,而slocate组对
    /var/lib/mlocate/mlocate.db数据库拥有r权限,所以普通用户可以使用locate命令查询mlocate.db数据库。
  • 命令结束,user1用户的组身份返回为user1组。
(4)SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效。

2、针对目录的作用

SGID针对目录设置,含义如下:

  • 普通用户必须对此目录拥有r和x权限,才能进入此目录。
  • 普通用户在此目录中的有效组会变成此目录的属组。
  • 若普通用户对此目录拥有w权限时(也就是其他人权限是7,普通用户才能进入目录),新建的文件的默认属组是,这个目录的属组。

不明白,看下面的例子。

#进入临时目录做此实验。因为临时目录才允许普通用户修改
[root@localhost ~ ] # cd /tmp/

#建立测试目录
[root@localhost tmp] # mkdir dtest

#给测试目录赋予SGID
[root@localhost tmp] # chmod g+s dtest

#查看dtest/目录,SGID已经生效
[root@localhost tmp] # ll -d dtest/
drwxr-sr-x 2 root `root` 4096 1月 20 06:04 dtest/

#给测试目录权限,让普通用户可以写,
#注意权限一定要是777,否则普通用户进入不了目录。
[root@localhost tmp]#chmod 777 dtest/

#切换成普通用户userl
[root@localhost tmp] # su - user1

#普通用户进入测试目录,
#如果上边权限不设置成777,测试普通用户进不来。
[user1@localhost ~ ]$ cd /tmp/dtest/

#普通用户建立abc文件
[user1@localhost dtest]$ touch abc

#abc文件的默认属组不再是user1用户组,而变成了dtest组的属组root
[user1@localhost dtest]$ ll
总用量0
-rw-rw-r-1 userl `root` 0 1月 20 06:07 abc

总结上边例子的意思:也就是说,root用户如果给目录赋予了SGID特殊权限。那么普通用户(user1)在该文件中所创建的文件的所有组不是user1,而是这个目录的所属组。

SGID针对目录的作用本身没有风险。就是赋予目录的权限是777有些风险,能不用就别用。
关于特殊权限SGID的针对目录的作用,了解一下即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内容概要 为什么要进行权限管理? 在生产服务器上,所有用户都用管理员权限登录吗?显然这是不可以也是不可能的。 因此...
    若兮缘阅读 970评论 1 9
  • 一、基本权限 基本概述:不同用户有不同权限,在服务器上,每个用户都会定义合理的等级。一般只有一个管理员,其他都是普...
    李菜菜同学阅读 548评论 0 4
  • Linux下一切皆文件,但是文件由于文件的属性的不同,在查找上可以针对不同的文件做相应的查找以便加快查询速度和减少...
    常青藤成阅读 1,055评论 0 0
  • 没有彻头彻尾的绝望。真正的成功,不是来自别人的认可和评价,而是由自我满足带来的满足宁静平和的心态,如果你在你自己力...
    BeautifulSoulpy阅读 1,311评论 0 2
  • 1、什么是爬虫? 请求网站并提取数据的自动化程序 2、爬虫基本流程 发起请求:通过HTTP库向目标站点发起请求...