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设为所有人都可以进行读、写、执行。