chmod 是用来管理文件访问权限的命令,大家是使用 *nix 系统的时候经常跟它打交道。

基本常识

用户和用户组

参数英文说明
uUse当前用户
gGroup所属用户组
oOthers其他人(其他用户及用户组,包含访客用户)

数字与参数

数字符号说明对文件对目录
1x可执行权限可被系统执行的权限
2w写权限可以编辑或修改文件内容,但不含删除该文件增删改该目录及目录下全部文件
4r读权限可读取文件的内容可读取目录结构

备注:ls -l对于文件权限是由 rwx 倒序组成。比如 -rwxr--r--,说明当前用户拥有全部权限,所属用户组和其他人只有读权限。

实例

数字篇

1. 当前用户拥有所有权限,其他只有读权限

ugo
644
rwrr

2. 所有用户及用户组添加全部权限 (谨慎使用

ugo
777
rwxrwxrwx

符号篇

通用公式:[用户(组)] + [操作] + [符号]

其中操作是由如下表构成:

操作说明
-移除权限
+增加权限
=设定权限

1. 所有用户及用户组添加执行权限

$ chmod +x [file]
2. 不允许其他人有写权限
$ chmod o-w [file]

3. 增加用户组的读写权限

$ chmod g+rw [file]

4. 除了当前用户都移除读写权限

$ chmod go-rw [file]

5. 设置当前用户所有权限,所属用户组和其他人保留读权限

$ chmod u=rwx,g=r,o=r [file]