Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133585
  • 博文数量: 46
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-12 15:54
文章分类
文章存档

2010年(2)

2009年(14)

2008年(30)

我的朋友

分类: LINUX

2009-02-05 17:58:14

一般情况下,一个普通文档或目录的文档属性如下:
-rw-r?r? 1 pinker users 61967 2006-06-22 21:39 frogleap.swf
“-rw-r?r?” 顺次意思为:“-”这个文档是普通文档,“rw-”表示文档属主pinker有可读可写权限,“r?”表示属主所在组有可读权限,最后的“r?”表示其他 用户只有可读权限。该权限用8进制表示是0644或644(省去前面一个特别权限位)。具体能够参考这一份文档。
这里想着重说的是三个特别权限位setuid,setgid 和 sticky。
setuid:当文档被设定setuid位以后,任何能够运行此文档的用户都 能够像文档属主相同运行他,听着别扭,举个例子:假如您给/bin/rm配置setuid权限位,也即将原来的“-rwxr-xr-x”改成了“- rwsr-xr-x”,那么任何用户都能够利用这个rm程式来删掉系统内的任何文档。当文档本来就没有可执行权限还加上setuid属性时,权限位就用 “S”表示,像这样“-rwSr?r?”。
setgid:和setuid功能类似,setgid权限位被设定以后,任何 用户都拥有了该文档所属组的权限,也就是能够像该文档组内成员相同运行他。另外当一个目录被配置setgid位后,以后用别的用户创建或者复制到这个目录下的文档,它所属的组会自动被改成目录文档所在的组,除非复制是加上-p (preserve)选项。
sticky:当sticky位被配置以后,只有root或文档任何这才能删除或移动他,例如/tmp目录就被设了sticky位“drwxrwxrwt”,这样任何的用户都对这个文档夹可读可写,却只有root(/tmp属主)能删除或移动他。
setuid,setgid,sticky的八进制位分别是4, 2, 1,助记法表示为u+s,g+s,o+t,(删除标记位是u-s,g-s,o-t),例如:
chmod 4644 frogleap.swf *结果是“-rwSr?r?”
chmod u+s frogleap.swf *结果和上面相同

以上三种特别权限位现在已用得比较少或不建议使用,例如setuid和setgid有安全风险,linux的虚拟内存机制使得sticky作用已不大,周详解释在这里。但是偶尔还是需要,记之以备忘。
阅读(621) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~