特殊权限有哪些?如何授予和取消?

SUID、SGID、STICKY简介:

在了解特殊权限位前,先来了解一下安全上下文概念。
 
安全上下文:
进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是取决于运行该命令的用户身份的uid/gid,以该身份获取各种系统资源。
 
特殊位作用:
SUID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属主身份来执行。
 SGID对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属组身份来执行。
 STICKY:粘滞位,通常对目录而言。通常对于全局可写目录(other也可写)来说,让该目录具有sticky后,删除只对属于自己的文件有效(但是仍能编辑修改别人的文件,除了root的)。不能根据安全上下文获取对别人的文件的写权限。
 
设置方式:
#chmod u+s
 #chmod g+s
 同上,去除特殊位有: #chmou u-s .等
 
SUID:置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
 SGID:置于 g 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
 STICKY:粘滞位,置于 o 的 x 位,原位置有执行权限,就置为 t ,否则为T .
 
表示方法:
将三个特殊位的用八进制数值表示,放于 u/g/o 位之前。其中 suid :4 sgid:2 sticky:1
 
例: 对某个目录:
 #chmod 4551 file // 权限: r-sr-x--x
 #chmod 2551 file // 权限: r-xr-s--x
 #chmod 1551 file // 权限: r-xr-x--t
 
由于SUID和SGID是在执行程序(程序的可执行位被设置)时起作用,而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID位是没有多大意义的。
 
对一个属主为root的可执行文件,如果设置了SUID位,则其他所有普通用户都将可以以root身份运行该文件,获取相应的系统资源。当然这在某些场合时需要的,但是滥用会造成系统的安全隐患。
 
对一个全局可写目录,若其从属于mygrp组,一个属于mygrp组的用户建立文件后属组为自己的私有组,但是加上给该文件夹加上SGID位后,可以让用户创建的文件从属于该目录所属的组,因为是以文件夹属组的身份来创建的。
 
对于一个全局可写目录,加上sticky位以后,普通用户将只能删除自己的文件,而不能删除其他用户的文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值