linux特殊权限SUID、SGID、SBIT
一、SUID
我们先来看一个文件,如下:
[root@shiyanji ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd
可以看到/usr/bin/passwd这个文件状态是“-rwsr-xr-x”,而不是我们平时所熟悉的“-rwxr-xr-x”,那么当s出现在文件拥有者的x权限上时,此时就被称为SET UID简称SUID。
suid的目的
让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。
suid的使用限制和作用
(1)SUID权限仅对二进制可执行文件有效;
(2)执行者对于该文件具有x的权限;
(3)本权限仅在执行该文件的过程中有效;
(4)执行者将具有该文件拥有者的权限。
例如普通用户用passwd修改自己的命令,实际上最终更改的是/etc/passwd文件. 此文件时用户管理配置文件,只有root权限才能更改。
image
既然是root用户才拥有此权限,为什么我们可以通过passwd命令来修改密码呢,那这就要归功于passwd设置了suid权限位了。
image
此时普通用户通过执行passwd命令,临时拥有root权限,间接的修改/etc/passwd,以达到修改自己密码的权限。
2 SGID
当s出现在目录或文件所属群的x权限上时,此时就称为SET GID简称SGID,那SGID对文件和目录分部有哪些功能呢?
2.1 SGID对目录
使用者若对于此目录具有 r 与 x 的权限时,该使用者能够进入此目录
使用者在此目录下的群组将会变成该目录的群组
若使用者在此目录下具有 w 的权限(可以新建文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同
2.2 SGID对文件
SGID 对二进制可执行文件有效
程式执行者对于该文件来说,需具备 x 的权限
执行者在执行的过程中将会获得该文件群组的支援(用于改文件群组的权限)
3 SBIT
当s出现在目录其他用户的x权限上时,此时就称为Sticky Bit简称SBIT,那SBIT有哪些限制和作用呢?
本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1926420
原文地址:http://wutengfei.blog.51cto.com/10942117/1926420