Linux命令之修改文件权限chmod

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之修改文件权限chmod相关的知识,希望对你有一定的参考价值。

概述

chmod 命令可以修改文件或目录的权限。

注:chmod 命令有两种修改权限的方法:一种是包含字母和操作符表达式法;一种是包含数字的数字设定法。

语法

该命令的语法如下:

# 第一种修改方法
chmod [ugoa+-=rwx] 文件或目录
# 第二种修改方法
chmod [mode=421 ] [文件或目录]

该命令支持的选项有:

选项说明
-c, --changes效果类似“-v”参数,但仅报告更改的部分
-f, --quiet, --silent不显示错误信息
-R, --recursive递归处理,将指令目录下的所有文件及子目录一并处理
-v, --verbose显示指令执行过程
--reference=<参考文件或目录>把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
<权限范围>+<权限设置>开启权限范围的文件或目录的该选项权限设置
<权限范围>-<权限设置>关闭权限范围的文件或目录的该选项权限设置
<权限范围>=<权限设置>指定权限范围的文件或目录的该选项权限设置

注:

  • u 表示所有者;g 表示所属组;o 表示除了所有者和所属组中的其他人;a 表示所有人(包括 ugo)。
  • + 表示增加权限;- 表示撤销权限;= 表示设定权限。
  • r 表示读权限;w 表示写权限;x 表示执行权限;- 表示不具有任何权限,代表数字是 0。
  • r=4 表示等价于读权限;w=2 表示等价于写权限;x=1 表示执行权限。rwx=4+2+1=7 表示具有读写执行权限。

使用

使文件所有者具有执行权限

我们可以修改文件的权限,让它的所有者具有执行权限。命令格式如下:

# 语法
chmod u+x 文件名
# 示例,使得 test.sh 文件的所有者具有执行权限
chmod u+x test.sh

注:这里只演示常见的情况,其他情况如修改文件的所属组具有执行权限(g+x),可举一反三。

修改文件所有者失去执行权限并使其他用户也有执行权限

这个例子演示了如何修改多个权限,他们之间用逗号隔开即可。命令格式如下:

# 语法
chmod u-x,o+x 文件名
# 示例,让 test.sh 文件的所有者失去执行权限,让其他用户获得执行权限
chmod u-x,o+x test.sh

采用数字方式设置文件权限

例如,要求采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行的权限。命令格式如下:

# 语法
chmod 777 文件名
# 示例,让 test.sh 文件的所有者、所属组、其他用户都具有可读可写可执行的权限
chmod 777 test.sh

注:因为读权限 r=4、写权限 w=2、执行权限 x=1,如果要让一个文件具有可读可写可执行权限就是要赋予 rwx 权限,即 rwx=4+2+1=7,而所有者、所属组、其他用户都要有可读可写可执行权限就是 rwxrwxrwx,即 rwxrwxrwx=777

修改指定目录下所有子文件和子目录都具有可读可写可执行

如果要一起修改指定目录下的所有子文件和子目录都具有可读可写可执行权限,那么就需要用到 -R 选项。命令格式如下:

# 语法
chmod -R 777 指定目录名
# 示例,让 test/ 目录下的所有子文件和子目录都具有可读可写可执行权限
chmod -R 777 test/

以上是关于Linux命令之修改文件权限chmod的主要内容,如果未能解决你的问题,请参考以下文章

Linux高级命令06:文件权限命令

Linux的文件访问权限及修改权限命令chmod

linux文件权限查看及修改-chmod

Linux命令之修改文件权限chmod

Linux之权限管理

linux chmod命令修改文件权限