chmod 是用来管理文件访问权限的命令,大家是使用 *nix 系统的时候经常跟它打交道。
基本常识
用户和用户组
参数|英文|说明 –|–|– u|Use|当前用户 g|Group|所属用户组 o|Others|其他人(其他用户及用户组,包含访客用户)
数字与参数
数字|符号|说明|对文件|对目录 –|–|–|–|– 1|x|可执行权限|可被系统执行的权限| 无 2|w|写权限|可以编辑或修改文件内容,但不含删除该文件|增删改该目录及目录下全部文件 4|r|读权限|可读取文件的内容|可读取目录结构
备注:
ls -l
对于文件权限是由 rwx 倒序组成。比如-rwxr--r--
,说明当前用户拥有全部权限,所属用户组和其他人只有读权限。
实例
数字篇
1. 当前用户拥有所有权限,其他只有读权限
u|g|o -|-|- 6|4|4 rw|r|r
2. 所有用户及用户组添加全部权限 (谨慎使用)
u|g|o -|-|- 7|7|7 rwx|rwx|rwx
符号篇
通用公式:[用户(组)] + [操作] + [符号]
其中操作
是由如下表构成:
操作|说明 –|– -|移除权限 +|增加权限 =|设定权限
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]