linux下,文件的权限-数字对应关系详解

上一级页面:index-la

chmod ABC file

chmod命令的格式如下

1
chmod ABC file
1
2
# 与ABC对应的是ugo,如下
# chmod ugo file

ugo分别表示User、Group、及Other

所以这个命令的意思是:

其中A、B、C各为一个数字,分别表示User、Group、及Other的权限。

A、B、C这三个数字如果各自转换成由“0”、“1”组成的二进制数,则二进制数的每一位分别代表一个角色的读、写、运行的权限。比如User组的权限A:

权限与数字如何转换

“4=r,2=w,1=x”的意思是:

如果可读,权限是二进制的100,十进制是4;

如果可写,权限是二进制的010,十进制是2;

如果可运行,权限是二进制的001,十进制是1;

如果可读、可写、可运行,就表示为二进制的111,转换成十进制就是7。

如果可读、可写、不可运行,就表示为二进制的110,转换成十进制就是6。

如果可读、不可写、可运行,就表示为二进制的101,转换成十进制就是5。

权限数字对应表

具备多个权限,就把相应的 4、2、1 相加就可以了:

若要 rwx 则 4+2+1=7

若要 rw- 则 4+2=6

若要 r-x 则 4+1=5

若要 r-- 则 =4

若要 -wx 则 2+1=3

若要 -w- 则 =2

若要 --x 则 =1

若要 — 则 =0

为不同的角色分配不同的权限

为不同的角色分配不同的权限,放在一起,就出现 777、677这样的数字了。

三个数字组合 比如

1
chmod 777 file

就表示在User、Group、及Other中,权限全为rwx,全为7

chmod的另外一种命令格式

chmod的另外一种命令格式如下:

1
chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

你也可以用 chmod u+x file 的方式为User组添加运行权限。

1
chmod是权限管理命令change the permissions mode of a file的缩写u代表所有者,x代表执行权限。 + 表示增加权限。chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限

其中 :u表示User,是文件的所有者;g表示跟User同Group的用户;o表示Other,即其他用户;a表示ALL,所有用户。

+表示增加权限;-表示取消权限;=表示取消之前的权限,并给予唯一的权限。

r表示Read,即读文件;w表示Write,即写文件;x表示运行文件。

file表示文件的路径,如code/002.cpp。

u / g / o / a

chmod命令的格式如下

1
chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

前部的[ u / g / o / a ]

u表示User,是文件的所有者;g表示跟User同Group的用户;o表示Other,即其他用户;a表示ALL,所有用户。

±=

chmod命令的格式如下

1
chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

中部的[ + / - / = ]

+表示增加权限;-表示取消权限;=表示取消之前的权限,并给予唯一的权限。

r/w/x

chmod命令的格式如下

1
chmod [ u / g / o / a ] [ + / - / = ] [ r / w / x ] file

后部的[ r / w / x ]是什么意思呢?

r 代表读,w 代表写,x 代表执行,

实例:更改文件权限

1
sudo chmod u+rw code/002.cpp

举例:执行cd命令和ls命令

想要进入一个目录,那么这个目录应该具有x权限(可执行)

如果进入一个目录后,想在这个目录中使用ls查看文件,那么这个目录里的文件还需要具有r权限(可写)

参考

参考:http://blog.csdn.net/u013063153/article/details/53113979