文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。
#权限rwx二进制
7读+写+执行rwx111
6读+写rw-110
5读+执行r-x101
4只读r--100
3写+执行-wx011
2只写-w-010
1只执行--x001
0无---000
例如, 765 将这样解释:
所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是 4+2+1 ,应该是 7。用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw- ,也就是 4+2+0 ,应该是 6。其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x ,也就是 4+0+1 ,应该是 5。
实例
将文件 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将文件 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将文件 file1.txt 与file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
为ex1.py 文件拥有者增加可执行权限:
chmod u+x ex1.py
将目前目录下的所有文件与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 :
chmod 777 file
语法为:
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;若要 rw- 属性则 4+2=6;若要 r-x 属性则 4+1=5。chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o