linux中的setGID权限

1、setGID对文件的作用

  • 只有可执行的二进制程序才能设置setGID权限
  • 命令执行者要对该程序拥有x(执行)权限
  • 命令执行在执行程序的时候,组身份升级为该程序文件的属组
  • setUID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效

实例:系统中的locate命令就是一个具有setGID权限的文件,locate命令实际搜索的是/var/lib/mlocate/mlocate.db文件中的内容,但如下图所示,该文件其实默认对其他用户是没有权限的,但为什么其他用户能够使用locate命令来搜索呢,原因就在于用户在执行locate命令期间,组身份会升级为slocate组身份,而slocate组对mlocate.db有读权限,所以普通用户可以使用locate命令来查看mlocate.db数据库

2、setGID权限对目录的作用

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

实例:

首先用root用户在/tmp目录下创建test目录,然后给test目录777权限,使得普通用户能够进入此目录并且创建文件,然后切换为普通用户(fz),在test目录下创建cangls文件,结果如下:(此时的cangls文件的所属组默认为fz)

\

然后返回root用户,给test目录赋予setGID权限2777,然后切换回普通用户(fz),使用普通用户在test目录下创建bols文件,结果如下:(可见此时创建的bols文件的组身份继承了上级目录test的组身份root)

同setUID权限一样,setGID权限不建议用户自己设置,只要了解下就好了,因为用户自己设置这种权限对于系统来说是很危险的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值