介绍

Linux chmod 命令 用于修改用户对文件或目录的权限,与之搭配的命令有chown,其中权限分为读、写、执行3种权限,也可以用数值来表示:

r=4
w=2
x=1

其中:

  • r表示read读权限
  • w表示write写权限
  • x表示exec执行权限

在linux文件中有3组类型的操作权限,它们分别是

  • 所属用户的权限
  • 所属分组的权限
  • 其它用户的权限

那么对于一个文件的权限如下图所示:

Linux chmod 命令

也就是说一个文件的权限由9位字符来表示,分别表示了用户、分组和其它三组权限,而每组权限又分为读、写、执行。

比如文件权限为:rw-r--r--

它表示

用户有读写权限没有执行权限;

分组有读权限,没有写和执行权限;

其它有有读权限,没有写和执行权限。

如果用数值来表示就是

用户权限为4+2=6

分组权限为4

其它权限为4

合起来就是0644,我们可以通过winscp可视化工具也可以看到这个数值

Linux chmod 命令

命令格式

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
Linux chmod 命令

2. 将文件修改为所有人可执行权限。

chmod a+x yxjc123.txt
Linux chmod 命令

 3. 使用数值的方式修改文件为用户和分组可读写执行,其它不行,这个一般用于部署网站的时候使用的比较多。

chmod 0770 yxjc123.txt

Linux chmod 命令

常用数字权限

-rw------- (600) 只有拥有者有读写权限。

-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。

-rwx------ (700) 只有拥有者有读、写、执行权限。

-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。

-rw-rw-rw- (666) 所有用户都有文件读、写权限。

-rwxrwxrwx (777) 所有用户都有读、写、执行权限。