说明 linux 文件调用权限分为三级:文件拥有者、群组、其他。利用 chmod 可以控制文件如何被他人所调用
语法
用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
Change the mode of each FILE to MODE.
With --reference, change the mode of each FILE to that of RFILE.
-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help 显示此帮助信息并退出
--version 显示版本信息并退出
Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.
参数说明
mode : 权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取(数字代号为“4”),
w 表示可写入(数字代号为“2”),
x 表示可执行(数字代号为“1”),
X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
- --help : 显示辅助说明
- --version : 显示版本
示例
新建test.sh 文件 初始权限为 : -rw-r--r-- (644)
① u 属用户
② g 属组
③ o 其他人
- test.sh 设为所有人皆可执行
chmod ugo+x test.sh
等价于 chmod +x test.sh
等价于 chmod a+x test.sh
等价于 chmod 755 wc.sh
- test.sh 设为该文件拥有者可执行
chmod u+x test.sh
等价于 chmod 744 test.sh
- test1.sh test2.sh设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod ug+w,o-w test1.sh test2.sh