快速业务通道

linux 文件特殊权限位小结

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-02

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位以后,普通用户将只能删除自己的文件,而不能删除其他用户的文件.

  1. [root@localhost tmp]# su - user1
  2. [user1@localhost ~]$ id
  3. uid=512(user1) gid=512(user1) groups=504(mygrp),512(user1)context=root:system_r:unconfined_t:SystemLow-SystemHigh
  4. [user1@localhost ~]$ cd /tmp/share/
  5. -bash: cd: /tmp/share/: Permission denied
  6. [user1@localhost ~]$ ll -d /tmp/share
  7. drwxrwSr-t 5 root mygrp 4096 Dec 30 16:09 /tmp/share
  8. [user1@localhost ~]$
  9. # 如上例,如果没有原位没有置X权限,即使同组的用户也无法进入目录,
  10. # 再设置SGID位也不起作用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号