Shell chmod 命令简介

chmod [OPTION] ... [ugoa] [[+-=][rwxug]][,...] FILE...

字母 “ugoa” 的组合控制哪些用户对文件的访问权限将被改变。
u —— 指文件或目录的所有者
g —— 指文件或目录的用户组的成员
o —— 指不在文件或目录的用户组中的其他用户
a —— 指所有用户,即(ugo)

如果使用 chmod 命令时,不给出 “ugoa” 的组合,则得到的结果和使用 “a” 相同

操作符 “+-=” 表示权限的授予或撤销
“+” —— 选定的权限将被添加
“-” —— 选定的权限将被移除
“=” —— 文件只拥有选定的权限

移除用户组成员的写权限:

chmod g-w filename

赋予其他用户执行权限:

chmod o+x filename

只赋予文件所有者写权限:

chmod u=w filename

用文件的用户组权限替换文件的所有者权限:

chmod u=g filename

赋予所有人对文件读、写和执行权限:

chmod ugo+rwx filename

chmod a+rwx filename

数字模式###

4 —— r(读权限)
2 —— w(写权限)
1 —— x(执行权限)
表示 rwx 权限就是 4+2+1=7
表示 rw- 权限就是 4+2+0=6
表示 r-- 权限就是 4+0+0=4
表示 r-x 权限就是 4+0+1=5

使用 -R 选项可以递归地修改目录的权限。

只修改子目录的权限,但是不修改文件的权限:

find . -type d -exec chmod -R 775 {} \;

本文参考自 《Linux Shell命令行及脚本编程实例详解 》

你可能感兴趣的:(Shell chmod 命令简介)