在Linux系统中输入chmod -- help 输出如下:
lilinchuan@lilinchuan-VPCEA27EC:~$ chmod --help
用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
将每个文件的模式更改为指定值。
-c, --changes 类似 --verbose,但只在有更改时才显示结果
--no-preserve-root 不特殊对待根目录(默认)
--preserve-root 禁止对根目录进行递归操作
-f, --silent, --quiet 去除大部份的错误信息
-v, --verbose 为处理的所有文件显示诊断信息
--reference=参考文件 使用指定参考文件的模式,而非自行指定权限模式
-R, --recursive 以递归方式更改所有的文件及子目录
--help 显示此帮助信息并退出
--version 显示版本信息并退出
每种 MODE 都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"。
总结一下用法就是
chmod 【options】 mode filename
options可以有可以没有,就是上边的-c,-f什么的。
主要说明mode的写法,一开始我没弄清楚,到后来才知道mode有两种写法
第一种是用户+操作符+权限的书写方式,第二种是用数字表示。
用户有 ‘u’,‘g’,‘o’,‘a’可选,操作符有‘+’,‘-’,‘=’可选,权限有‘r’,‘w’,‘x’,‘s’,‘t’,‘u’,‘g’,‘o’可选。
u,g,o,a分别表示用户属主,群组,其他用户,所有用户(默认),操作符意思分别是增加,删除和赋值权限,权限中r是读,w是写,x是可执行
用数字表示的方法一般有一个三位数构成,第一位表示属主的权限,第二位表示相同群组用户的权限,第三位表示其他用户权限。
r:4,w:2,x:1,那么5(=4+1)当然就是读和可执行权限啦,7(=4+2+1)就是读写可执行权限。
当然有时候也有四位数,四位数时的最高位取值也是4,2,1,含义分别是
举例来说
$chmod a+x filename 是对所有用户赋予filename文件的可执行权限
$chmod +x filename 省掉了默认的a,所以作用同上,这是经常能见到的一种写法
$chmod 755 filename 对属主赋予全部权限,其他用户只有读和执行的权限。
$chmod =r file 为所有用户分配读权限
$ chmod 444 file 同上例
$ chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限
$ chmod 4755 设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。