扫一扫
关注微信公众号

Linux下文件属性
2006-04-10   网络

Linux总共用5个数字来表示文件的各种权限.
00000.第一位表示设置用户ID.第二位表示设置组ID,第三位表示用户自己的权限位,第四位表示组的权限,最后一位表示其他人的权限.
每个数字可以取1(执行权限),2(写权限),4(读权限),0(什么也没有)或者是这几个值的和.
比如我们要创建一个用户读写执行,组没有权限,其他人读执行的文件.设置用户ID位那么我们可以使用的模式是--1(设置用户ID)0(组没有设置)7(1+2+4)0(没有权限,使用缺省)5(1+4)即10705

Linux用使用一个四位八进制数来标识每一个文件(包括普通文件、目录、设备、链接等)的属性。

文件属性一般用数字来表示,形如0000。其中从左到右,第一位表示特殊权限,第二位表示属主权限,第三位表示组权限,第四位表示其它组权限。

第二、三、四位含义相同,即4表示读权限,2表示写权限,1表示执行权限,算法见楼主贴。

第一位表示特殊权限。4为Set Uid,即该文件运行时运行者拥有文件属主的权限,属于属主权限。2为Set Gid,即该文件运行时运行者拥有组权限,属于组权限。1为sticky,表示该文件不可被除root以外的任何用户删除,属于其它组权限。

*注:对shell脚本的Set Uid设置是无效的。

如果第一位为0,一般可以省略。

因此较为常见的权限的数字表示法有:普通文件:644,普通目录:755,普通可执行文件:755,而/usr/bin/passwd文件拥有Set Uid属性,表示为4755。

此外较常用的是用单一字母表示文件权限。u表示属主,g表示组,o表示其它组,a表示属主、组、其它组三者,r表示读权限,w表示写权限,x表示执行权限,s表示Set Uid和Set Gid,t表示Sticky。更改方法有+、-、=。如u+r位属主拥有读权限,g=w表示组权限为只写,o-x为其它组失去执行权限,a=rwx表示所有人权限都为可读可写可执行。如果要设置Set Uid、Set Gid、Sticky,则应该分别写成u+s、g+s、o+x。

如果用ls -l察看文件,可以看到用字母串表示的文件权限,如-rw-r--r--。第一位为文件类型,-表示文件,d表示目录,l表示链接,b表示块文件,p表示管道文件,c表示字符文件。以后的位每三位一组,对应属主、组、其它组。r--表示只读,-w-表示只写,--x表示只可执行,而rwx则表示可读可写可执行。而特殊权限在第四、七、十位。Set Uid在第四位,用S表示。如果该位原先已经有x,则用s表示。Set Gid在第七位,用S表示。如果原先已有,则用s表示。Sticky在第十位,用T表示。如果原先已有,则用t表示。如普通文件为-rw-r--r--,普通目录为drwxr-x-r-x,普通可执行文件为-rwxr-xr-x,而/usr/bin/passwd为-rwsr-xr-x。

热词搜索:

上一篇:认识Linux文件系统
下一篇:Linux下加挂文件系统的小结

分享到: 收藏