linux的SUID GUID

一、文件权限中的特殊权限
其实在UNIX的实现中,文件权限用12个二进制位表示:
11  10    9  8  7  6  5  4  3  2  1  0
S   G   T  r  w  x  r  w  x  r  w  x
第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位。


给文件加SUID和SGID的命令如下:
chmod u+s filename  设置SUID位
chmod u-s filename  去掉SUID位的设置
chmod g+s filename  设置SGID位
chmod g-s filename  去掉SGID位的设置
chmod +s filename   设置SUID,SGID位
chmod -s filename   去掉SUID,SGID位的设置

二、SUID和SGID的详细解析
由于SUID和SGID位是在执行程序时起作用(程序的可执行位被设置),而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID没有意义。

如果普通文件myfile是属于foo用户的,是可执行的,现在没有设置SUID位,ls -al命令显示如下:-rwxr-xr-x 1 foo staff 7734 Apr 05 17:07 myfile。任何用户都可以执行这个程序myfile,UNIX内核是根据什么来确定一个进程对资源的访问权限的呢?是这个进程的运行用户的有效ID,即euid、egid。

对一个进程来说,有运行这个进程的user id和group id,用户可以用id命令来查看自己的或其他用户的user id和group id。除了user id和group id外,还有两个称之为effective id(有效id),上面四个id表示为:uid、gid、euid、egid。内核是根据euid和egid来确定进程对资源的访问权限。

一个程序如果没有SUID或SGID位,则其运行后的进程的euid=uid egid=gid,即分别是运行这个程序的用户的uid和gid。例如kevin用户(uid=204 gid=202),foo用户(uid=200 gid=201),kevin运行myfile程序形成的进程的euid=204,egid=202,内核根据这些值来判断进程对资源访问的限制,其实这里就等于kevin用户对资源的访问
的权限,和foo没有关系。

一个程序如果设置了SUID,则euid和egid变成运行的程序的所有者的uid和gid,例如kevin用户运行myfile,
euid=200,egid=201,uid=204,gid=202,这个进程具有它的所有者foo的对资源访问的权限。

SUID的作用就是这样,让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源,passwd就是一个鲜明的例子。


三、SUID和SGID的关于passwd的说明
/etc/passwd 文件中存放各个用户的账户相关信息,/usr/bin/passwd 是执行修改和查看此文件的程序。

[root@VM_65_244_centos ~]# ls -al /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd
[root@VM_65_244_centos ~]# ls -al /etc/passwd
-rw-r--r-- 1 root root 1185 8月  28 17:40 /etc/passwd

如上,从权限上看,/etc/passwd文件仅有root用户才有写(w)权限,可是为什么每个用户都可以直接调用/usr/bin/passwd来写/etc/passwd从而修改自己的密码呢?

s使得其他用户执行/usr/bin/passwd时具有与其owner root相当的权限。


四、sticky bit 粘着位
普通文件的sticky位会被linux内核忽略,目录的sticky位表示这个目录里的文件只能被owner和root删除。
如果用户对目录有wx权限,则可以删除其中的文件和子目录,即时该用户不是这些文件的所有者,而且也没有读或写
许可。
粘着位出现在执行许可的位置上,用t表示,设置了该位后,其他用户就不可用删除不属于他的文件和目录。
但是该目录下的目录不继承该权限,要再设置才可使用。


五、删除文件所需要的权限
文件名保存在上级目录的block中,所以对文件进行删除,是看上级目录是否有相应的w权限。
对目录来说:
r:代表读取目录中的内容
w:删除、修改目录里面文件名的权限【必须配合x执行才可以】
x:代表能否进入到目录里面去
所以说,想删除一个目录里面的文件,需要获得目录的wx权限,没有r权限只是不能查看,进入目录删除还是可以的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值