对于Linux中的修改文件权限,我们先看一张图片:
可以看到,对于一个文件而言,操作它的用户可以分为三类:
所有者,同组用户,其他用户
u: (user)表示文件属主的访问权限;
g: (group)表示文件同组用户的访问权限;
o : (others)表示其他用户的访问权限;
文件权限如下:
r : (read)读权限 ,值为4;
w : (write)写权限 ,值为2;
x: (execute)执行权限 ,值为1;
了解了文件的权限后,就很好理解修改文件权限的方法了。这里给出两种方法:
(1)文字设定法:
u:表示属主(user) g:表示同组人(group) o:其他人 (other) a:所有人 (all)
+:表示增加权限 -:表示去掉权限
例如:修改main.c文件的所有者权限:
1).取消写权限:chmod u-w main.c
2).成为可写可读的 chmod u=rw main.c
3).同时修改main.c的属主权限和组用户权限:chmod u-w,g+x main.c
(2)数字设定法
采用数字设定法时,权限通常由三位数字组成,每一位数字代表一种角色的权限。每个角色的数值由其所具有的权限对应的数值之和构成;
r : (read)读权限 ,值为4(即rwx三位二进制编码为100,下同)
w : (write)写权限 ,值为2(010)
x: (execute)执行权限 ,值为1(001)
格式:chmod xxx文件名
注意:每个x都是0-7的整数值
下面进行演示:
未修改前的cli文件权限为rwxrwxr-x:
文字修改法取消属主的写权限后:
chmod u-r cli
数字设定法恢复属主写权限后:
chmod 775 cli