快速业务通道

Linux文件特殊属性

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-15
bb.swpx 3. Linux文件特殊权限 Linux文件特殊权限主要体现在set UID、set GID、Sticky Bit这三个上面. 要理解这三个特殊权限,就要先理解账号的ID(UID和GID)以及进程等概念. ① SUID SUID就是Set UID.设置它是为了让普通用户在执行某些程序时,能够暂时具有该程序的拥有者权限. 比如:在Linux系统中普通用户也可以使用passwd命令来修改自己的密码.但是密码文件shadow只有root用户有读权限,其他用户没有任何权限,那么普通用户是怎样通过passwd命令来修改自己的密码呢?我们看下/usr/bin/passwd程序的属性就知道了. [root@localhost /]# ll /usr/bin/passwd -rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd 我们发现passwd程序user的x权限位变成了s.那么在这里就是这个s使普通用户有权限来执行这个程序.它让普通用户在执行passwd这个程序时暂时拥有了root的权限. 因此,当某程序user的x权限位变成s时,就是进行了Set UID设置,简称SUID. SUID仅可用于二进制文件,对于其他普通文件,目录文件和脚本之类的文件是无效的. ② SGID SGID就是Set GID.设置它用来作用于用户组. 如果将SGID设置在二进制文件上,则不论用户是谁,在执行该程序时,它的有效用户组将会变成改程序的用户组所有者; 如果将SGID设置在目录文件上,则在该目录文件内所建立的文件或目录的用户组,将会变成该目录的用户组. SGID一般用于团队的项目开发上,在系统中很少使用.如果设置了SGID,那么该二进制文件或者目录group的x属性位将会变成s. ③ SBIT SBIT就是Sticky Bit.如果在设置了SBit属性的目录中,用户在该目录下拥有w和x权限,那么当用户在该目录下新建文件时,只有文件拥有者和root才有权利删除. 比如:root在/目录下建立了一个文件夹test,test的权限是0777.在没有加特殊权限前,任何人都可以在test目录下做任何事,包括删除别人建立的文件.当我给test目录设置了SBit属性后,那么bobyuan这个用户在test下新建了一个文件bobtest, 属性是0777;bob这个用户进入test目录下试图删除bobtest,发现没有权限删除. 如果某个目录设置了SBit属性,那么该目录other的x属性位将会变成t.如【drwxrwxrwt】. SBIT仅可用于目录文件,对于普通文件是不生效的. 如果某个文件的user或者group或者other没有设置x属性,但是设置了SUID或者SGID或者GBIT,那么,这些特殊属性将会以大写的S和T表现出来. ④ 设置SUID/SGID/SBIT 我们用数字形式来表示这三个特殊属性,他们和r/w/x的数字表现形式类似. SUID:4 SGID:2 SBIT:1 比如我要设置cat命令的SUID属性,那就可以用chmod 4755来实现. 比如我要设置test目录的SBIT属性,那就可以用chmod 1777来实现. 注意,在设置目录或者二进制文件的特殊属性时,一定要给予这些目录或者文件可执行权限.如果未给予可执行权限,即使设置了特殊属性,也将会是空的,会用大写的S和T表示.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号