(2012-09-26 16:59:51)
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。
中华人民共和国备案号:浙ICP备10018243号