介绍
Linux chmod 命令 用于修改用户对文件或目录的权限,与之搭配的命令有chown,其中权限分为读、写、执行3种权限,也可以用数值来表示:
r=4
w=2
x=1
其中:
- r表示read读权限
- w表示write写权限
- x表示exec执行权限
在linux文件中有3组类型的操作权限,它们分别是
- 所属用户的权限
- 所属分组的权限
- 其它用户的权限
那么对于一个文件的权限如下图所示:
也就是说一个文件的权限由9位字符来表示,分别表示了用户、分组和其它三组权限,而每组权限又分为读、写、执行。
比如文件权限为:rw-r--r--
它表示
用户有读写权限没有执行权限;
分组有读权限,没有写和执行权限;
其它有有读权限,没有写和执行权限。
如果用数值来表示就是
用户权限为4+2=6
分组权限为4
其它权限为4
合起来就是0644,我们可以通过winscp可视化工具也可以看到这个数值
命令格式
chmod [选项] 权限 文件
以下介绍选项的含义
chmod命令参数 | 说明 |
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不要显示错误讯息 |
-v | 显示权限变更的执行过程 |
-R | 递归处理该目录,这个更加常用 |
chmod命令权限 | 说明 |
u | 表示该文件的拥有者[user] |
g | 表示与该文件的拥有者属于组(group) |
o | 表示其他用户[other] |
a | 表示这三者皆是[all]。(常用) |
+ | 表示增加权限、(常用) |
- | 表示取消权限、(常用) |
= | 表示唯一设定权限 |
r | 表示有可读取的权限 |
w | 表示有可写入的权限 |
x | 表示有可执行的权限 |
X | 表示只有当该文件是个子目录或者该文件已经被设定过为可执行 |
例子
1. 将文件修改为所有人可读权限
chmod a+r yxjc123.txt
2. 将文件修改为所有人可执行权限。
chmod a+x yxjc123.txt
3. 使用数值的方式修改文件为用户和分组可读写执行,其它不行,这个一般用于部署网站的时候使用的比较多。
chmod 0770 yxjc123.txt
常用数字权限
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。