Linux-chmod命令(4)

时间:2023-08-01 21:50:26

 chmod:(change mode)改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。 

格式 : [-cfvR][[+-=][rwxX]...][,...]

参数 1: 

-c : 若该档案权限确实已经更改,才显示其更改动作 
-f : 若该档案权限无法被更改也不要显示错误讯息 
-v : 显示权限变更的详细资料 
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

参数2:

u 表示该档案的拥有者(user),g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人(other),a 表示这三者皆是。 
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

实例:

sudo  chmod   -R a+rwx  /usr/bin/makyaffs2image                       将makyaffs2image设为所有人都可以进行读、写、执行。

 (此外还可以用数字来表示上面参数2)

格式:chmod [0-7][0-7][0-7]
第1个[0-7]:表示该档案的拥有者

第2个[0-7]:表示与该档案的拥有者属于同一个群体(group)者

第3个[0-7]:表示其他以外的人(other)
数字权限是基于二进制数字系统而创建的,读(read,r)的值是4,写(write,w)的值是2,执行(execute,x)的值是1,没有授权的值是0。这种模式下,权限组合变成简单的加分运算。于是,在ls -l命令表示的数字权限对应关系是:
无权限 = 0

x =  1

w = 2

wx = 2+1=3

r = 4

rx = 4+1=5

rw = 4+2=6

rwx=4+2+1=7
虽然可以设置各式各样的权限,但常用的权限只有几种。它们的含义是:
400 -r-------- 拥有者能够读,其他任何人不能进行任何操作;
644 -rw-r--r-- 拥有者都能够读,但只有拥有者可以编辑;
660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;
664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;
700 -rwx------ 拥有者能够读、写和执行,其他用户不能任何操作;
744 -rwxr--r-- 所有人都能读,但只有拥有者才能编辑和执行;
755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。

实例:

sudo  chmod   -R 777  /usr/bin/makyaffs2image                       将makyaffs2image设为所有人都可以进行读、写、执行。