linux特殊权限
SUID
在
Linux
系统中,其实除了
rwx
权限,还会用到
s
权限,例如:
原本表示文件所有者权限中的
x
权限位,却出现了
s
权限,此种权限通常称为
SetUID
,简称
SUID
特殊权限。
SUID
特殊权限仅适用于
可执行文件
,所具有的功能是,只要用户对设有
SUID
的文件有执行权限,那么
当用户执行此文件时,会以文件所有者的身份去执行此文件,一旦文件执行结束,身份的切换也随之消
失。
举一个例子,我们都知道,
Linux
系统中所有用户的密码数据都记录在
/etc/shadow
这个文件中,通过
ll /etc/shadow
命令可以看到,此文件的权限是
0
(
---------
),也就是说,普通用户对此文件没有任何操
作权限。
这就会产生一个问题,为什么普通用户可以使用
passwd
命令修改自己的密码呢?
刚刚已经显示了
passwd
命令的权限配置,可以看到,此命令拥有
SUID
特殊权限,而且其他人对此文
件也有执行权限,这就意味着,任何一个用户都可以用文件所有者,也就是
root
的身份去执行
passwd
命令。
Linux
系统中,绝对多数命令的文件所有者默认都是
root
。
换句话说,当普通用户使用
passwd
命令尝试更改自己的密码时,实际上是在以
root
的身份执行
passwd
命令,正因为
root
可以将密码写入
/etc/shadow
文件,所以普通用户也能做到。只不过,一旦
命令执行完成,普通用户所具有的
root
身份也随之消失。
SUID
特殊权限具有如下特点:
只有可执行文件才能设定
SetUID
权限,对目录设定
SUID
,是无效的。
用户要对该文件拥有
x
(执行)权限。
用户在执行该文件时,会以文件所有者的身份执行。
SetUID
权限只在文件执行过程中有效,一旦执行完毕,身份的切换也随之消失。
chmod
4xxx
文件名
#
即为设置文件权限为
suid
例
chmod
4755
touch
s
标识出现在所有者的执行权限位上
SGID
前面学习了
SetUID
,那么,什么是
SetGID
呢?很简单,当
s
权限位于所属组的
x
权限位时,就被称为
SetGID
,简称
SGID
特殊权限。例如:
SetGID
(
SGID
)对文件的作用
同
SUID
类似,对于文件来说,
SGID
具有如下几个特点:
SGID
只针对可执行文件有效,换句话说,只有可执行文件才可以被赋予
SGID
权限,普通文件赋
予
SGID
没有意义。
用户需要对此可执行文件有
x
权限;
用户在执行具有
SGID
权限的可执行文件时,用户的群组身份会变为文件所属群组;
SGID
权限赋予用户改变组身份的效果,只在可执行文件运行过程中有效;
其实,
SGID
和
SUID
的不同之处就在于,
SUID
赋予用户的是文件所有者的权限,而
SGID
赋予用户的 是文件所属组的权限,就这么简单。
SBIT
Sticky BIT
,简称
SBIT
特殊权限,可意为粘着位、粘滞位、防删除位等。
SBIT
权限
仅对目录
有效,一旦目录设定了
SBIT
权限,则用户在此目录下创建的文件或目录,就只有自 己和 root
才有权利修改或删除该文件。
也就是说,当甲用户以目录所属组或其他人的身份进入
A
目录时,如果甲对该目录有
w
权限,则表示对 于 A
目录中任何用户创建的文件或子目录,甲都可以进行修改甚至删除等操作。但是,如果
A
目录设定
有
SBIT
权限,那就大不一样啦,甲用户只能操作自己创建的文件或目录,而无法修改甚至删除其他用户
创建的文件或目录。
如
tmp
目录:
可以看到,在其他人身份的权限设定中,原来的
x
权限位被
t
权限占用了,这就表示此目录拥有
SBIT
权 限。
可以看到,虽然
/tmp
目录的权限设定是
777
,但由于其具有
SBIT
权限,因此
gxa001
用户在此目录创
建的文件
gxa001.txt
,
gxa002
用户删除失败。
设置特殊权限
特殊权限也是使用
chmod
去设置
三种权限对应的数字是:
SUID<=>4
SGID<=>2
SBIT<=>1
在设定的
rwx
数字值
前面
添加三种特殊权限的数字(及其组合)即可设置
比如:
1.
执行
chmod 4755
文件名命令,就完成了
-rwsr-xr-x
权限的设定;
1.
如果某文件拥有
SUID
和
SGID
权限,则只需要给
chmod
命令传递
6—
(
-
表示数字)即可;
1.
如果某目录拥有
SGID
和
SBIT
,只需要给
chmod
命令传递
3—
即可。
原文地址:https://blog.csdn.net/hakksjss/article/details/137862331
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!