Linux的chmod命令是用来修改文件及目录访问权限的。chmod是change mode的缩写。它体现了Linux操作系统的文件访问权限机制。Linux文件访问权限包含读、写和执行三种权限,而这三种权限是针对所有用户,即文件的所有者、所在组的用户和其他用户。
使用chmod命令,可以用数字或符号来改变文件或目录的权限。其中,数字表示权限的大小,符号表示操作的方式。这里,我们主要介绍数字方式来改变文件或目录的权限。
数字方式修改权限的格式为:
chmod abc file/dir
其中:
- a为用户类别的数码
- b为文件所有者的权限数字
- c为其他用户的权限数字
- file/dir为要修改权限的文件或目录
数字方式中,数字a可以是0-7之间的一个数字,它表示的是文件所有者、所在组用户和其他用户三种权限从左到右的值之和。其中,各值的意义如下:
- 0:该用户无任何权限
- 1:该用户只有执行权限
- 2:该用户只有写权限
- 3:该用户有写和执行权限
- 4:该用户只有读权限
- 5:该用户有读和执行权限
- 6:该用户有读和写权限
- 7:该用户有读、写和执行权限
例如,如果要对test.txt
文件的所属用户、所属组和其他用户都授予读、写、执行权限,可以使用以下命令:
chmod 777 test.txt
这里的数字777,表示:
- 所属用户(文件所有者)的权限值为7,7表示读、写、执行权限(即4+2+1)
- 所属组的用户权限值为7
- 其他用户权限值为7
此外,如果想要改变指定用户类别的权限,a的值可以为1、2或4,分别对应文件所有者、所在组用户和其他用户。例如,如果只想要让所属用户(文件所有者)有读、写权限,命令可以按如下方式编写:
chmod 600 test.txt
上述命令中的数字600表示文件所有者的权限为6,所在组用户和其他用户没有权限(都是0)。其中,数字6表示读、写权限(即4+2)。
除了数字方式,还可以使用符号方式来改变文件或目录的权限。具体详解可以使用"man chmod"命令查看系统文档,这里不做详细介绍。
示例1:
# 新建一个test目录
mkdir test
# 使用chmod命令将test目录以及其中的文件所有者都授予读、写、执行权限
chmod -R 700 test
上述命令中,"-R"选项表示递归修改目录及其中所有文件的权限,"700"表示文件所有者拥有读、写、执行权限,其它用户没有任何权限。
示例2:
# 新建一个test.txt文件
touch test.txt
# 查看test.txt文件的权限
ls -l test.txt
# 修改文件所有者的权限,添加读、写权限
chmod u+rw test.txt
# 修改所在组用户的权限,添加读权限
chmod g+r test.txt
# 修改其他用户的权限,添加读权限
chmod o+r test.txt
# 再次查看文件权限
ls -l test.txt
上述命令中,这里的"u"表示文件所有者,"g"表示所在组用户,"o"表示其他用户,"+rw"表示添加"读"和"写"权限,"+r"表示添加读权限。通过多次修改权限,我们使文件所有者、所在组用户和其他用户都有了读权限。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux chmod命令:修改文件权限 - Python技术站