chmod 的符号模式(Symbolic Mode)是一种直观的方式来修改文件或目录的权限。与数字模式(八进制模式)不同,符号模式允许你通过添加或删除特定权限来修改文件权限,而不需要指定完整的权限集。
chmod [who][operator][permissions] 文件名
u
- 文件所有者(user)g
- 文件所属组(group)o
- 其他用户(others)a
- 所有用户(all,相当于 ugo)+
- 添加权限-
- 移除权限=
- 设置精确权限(覆盖原有权限)r
- 读权限w
- 写权限x
- 执行权限X
- 特殊执行权限(仅当文件是目录或已有执行权限时设置执行权限)s
- 设置用户或组IDt
- 粘滞位(sticky bit)给所有者添加执行权限:
chmod u+x filename
给组和其他用户移除写权限:
chmod go-w filename
给所有用户设置读和写权限:
chmod a=rw filename
给所有者设置读写执行权限,组设置读执行权限,其他用户无权限:
chmod u=rwx,g=rx,o= filename
给目录设置粘滞位(只有所有者可以删除/重命名文件):
chmod +t directory
递归修改目录及其内容权限:
chmod -R g+w directory
可以组合多个权限修改操作,用逗号分隔:
chmod u+x,g-w,o=rx filename
u+s
- 设置SUID(Set User ID)g+s
- 设置SGID(Set Group ID)o+t
- 设置粘滞位例如:
chmod u+s executable_file
chmod g+s shared_directory
符号模式比数字模式更灵活,特别适合在现有权限基础上进行小调整,而不需要知道或指定完整的权限集。