功能
chmod命令用来改变文件或目录的权限
背景知识
2.1 Linux用户
Linux用户,分为用户(u)、用户组(g)、其他(o)三种。默认系统中的所有用户信息都记录在/etc/passwd文件中,用户的密码则是记录在/etc/shadow文件中,用户组的信息记录在/etc/group文件中。
2.2 Linux用户权限
Linux用户权限有三种r(读,值为4)、w(写,值为2)、x(执行,值为1),如图
权限范围
u User,文件或目录的拥有者
g Group,文件或目录所属的用户组
o Other,其他用户
a All,全部用户
权限代号
r 读取权限,数字代号"4"
w 写入权限,数字代号"2"
x 执行权限,数字代号"1"
- 不具有任何权限,数字代号"0"
s 特殊功能说明
选项
-c 显示更改部分的信息 -f 不显示错误信息 -R 递归处理指定目录下的所有文件及子目录递归处理 -v 显示指令执行过 --reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同 <权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置 <权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置 <权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置
使用方法
6.1 文字设定法
6.2 数字设定法
chmod [权限数字代号] 文件名
示例
# 设定test.md的所有者增加写权限 chmod u+w test.md # 同时修改不同用户的权限 chmod u+x,g+w,o-x test.md # 将目录test以及该目录底下包含的文件及子目录的权限设置为,所有者读写执行,所属组读执行,其他读 chmod -R 754 test