Linuxchmod命令详解
chmod----改变⼀个或多个⽂件的存取模式(mode)
chmod [options] mode files
只能⽂件属主或特权⽤户才能使⽤该功能来改变⽂件存取模式。mode可以是数字形式或以who opcode permission形式表⽰。who是可选的,默认是a(所有⽤户)。只能选择⼀个opcode(操作码)。可指定多个mode,以逗号分开。
options:
-c,--changes
只输出被改变⽂件的信息
-f,--silent,--quiet
当chmod不能改变⽂件模式时,不通知⽂件的⽤户
--help
输出帮助信息。
-R,--recursive
可递归遍历⼦⽬录,把修改应到⽬录下所有⽂件和⼦⽬录
--reference=filename
linux删除子目录命令参照filename的权限来设置权限
-v,--verbose
⽆论修改是否成功,输出每个⽂件的信息
--version
输出版本信息。
who
u
⽤户
g
o
其它
a
所有⽤户(默认)
opcode
+
增加权限
-
删除权限
=
重新分配权限
permission
r
w
x
执⾏
s
设置⽤户(或组)的ID号
t
设置粘着位(sticky bit),防⽌⽂件或⽬录被⾮属主删除
u
⽤户的当前权限
g
组的当前权限
o
其他⽤户的当前权限
作为选择,我们多数⽤三位⼋进制数字的形式来表⽰权限,第⼀位指定属主的权限,第⼆位指定组权限,第三位指定其他⽤户的权限,每位通过4(读)、2(写)、1(执⾏)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执⾏的权限。
还可设置第四位,它位于三位权限序列的前⾯,第四位数字取值是4,2,1,代表意思如下:
4,执⾏时设置⽤户ID,⽤于授权给基于⽂件属主的进程,⽽不是给创建此进程的⽤户。
2,执⾏时设置⽤户组ID,⽤于授权给基于⽂件所在组的进程,⽽不是基于创建此进程的⽤户。
1,设置粘着位。
实例:
$ chmod u+x file                   给file的属主增加执⾏权限
$ chmod 751 file                   给file的属主分配读、写、执⾏(7)的权限,给file的所在组分配读、执⾏(5)的权限,给其他⽤户分配执⾏(1)的权限
$ chmod u=rwx,g=rx,o=x file      上例的另⼀种形式
$ chmod =r file                     为所有⽤户分配读权限
$ chmod 444 file                  同上例
$ chmod a-wx,a+r  file      同上例
$ chmod -R u+r directory        递归地给directory⽬录下所有⽂件和⼦⽬录的属主分配读的权限
$ chmod 4755                            设置⽤ID,给属主分配读、写和执⾏权限,给组和其他⽤户分配读、执⾏的权限。