chmod用于设置文件权限
语法
chmod [-cfvR] mode file
chmod [--help]
chmod [--version]
参数说明
mode详解
mode有两种表示法:符号表示法和数字表示法
符号表示法
[who][operator][permission]
who:表示要对哪种用户设置权限,有u/g/o/a四类
u:文件所有者
g:文件所有者所在组
o:所有其它用户
a:所有用户,相关于ugo
operator:表示进行的操作
+:增加权限
-:取消权限
=:重新设置权限
permissions:表示权限类型
r:读权限
w:写权限
x:可执行权限
s: setuid/setgid,根椐who参数指定的用户类型设置文件的setuid或setgid
t: sticky bit
数字表示法
用4个八进制数表示,每个数字对应一个作用域。
第一个数字表示特殊权限(没有可以省略),数字的意义如下:
0:无权限
1:sticky
2:setgid
4:setuid
3:sticky+setgid
5:sticky+setuid
6:setuid+setgid
7:sticky+setuid+setgid
第二、三、四个数字分别对应文件所有者、组、其它用户的权限,数字的意义如下:
0:无权限
1:执行权限
2:写权限
4:读权限
3:执行和写权限,即1+2
5:执行和读权限,即1+4
6:读和写权限,即2+4
7:读、写、执行权限,即1+2+4
其它参数
c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
–help : 显示帮助说明
–version : 显示版本
例子
chmod u+x test //test文件的所有者增加可执行权限
chmod a-x test //test文件的所有者、所有者所在组、其它用户取消可执行权限
chmod ug+rw test //test文件的所用者及其所在组增加读写权限
chmod ug+s test //test文件设置setuid+setgid
chmod 4771 test //test文件设置setuid、文件所有者有读写执行权限、文件所有者所在组有读写执行权限,其它用户可执行
chmod 665 test //test文件权限设置为:文件所有者有读写、文件所有者所在组有读写,其它用户读、执行