📜  Linux chmod命令

📅  最后修改于: 2020-12-08 05:13:03             🧑  作者: Mango

Linux chmod命令

Linux chmod命令用于更改文件和目录的访问权限。它代表更改模式。它不能更改符号链接的许可。甚至,它也忽略了递归目录遍历中的符号链接。

在Linux文件系统中,每个文件都与一个特定的所有者相关联,并且具有不同用户的访问权限。用户类可以是:

  • 所有者
  • 小组成员
  • 其他(其他所有人)

Linux中的文件权限分为以下三种类型:

  • 读(r)
  • 写(w)
  • 执行[x)

让我们看看如何使用chmod命令更改文件权限。

句法:

chmod命令的基本语法如下:

chmod   

选项:

chmod命令支持以下命令行选项:

-c,–changes:它与详细选项相似,但是不同之处在于,如果进行了更改,则会报告该更改。

-f,–silent,–quiet:用于禁止显示错误消息。

-v,–verbose:用于显示每个已处理文件的诊断。

–no-preserve-root:用于不处理反斜杠符号('/'),尤其是(默认)。

–preserve-root:如果使用此选项,它将无法在反斜杠('/')上递归操作。

–reference = RFILE:用于指定RFILE的模式或MODE值。

-R,– recursive:用于递归更改文件和目录。

–help:用于显示帮助手册,其中简要说明了用法和支持选项。

–version:用于显示版本信息。

文件权限语法

如果您是新用户,则可能会对用于设置文件许可权的不同字母类型感到困惑。因此,在进一步执行chmod命令之前,让我们了解文件权限语法。

要设置文件或目录的权限,我们必须指定以下内容:

  • 谁:我们是谁。 (用户)
  • 什么:我们要进行什么更改(例如添加或删除权限)?
  • 哪个:哪个权限?

权限声明以诸如u + x,ux之类的指示符表示。其中“ u”代表“用户”,“ +”代表添加,“-”代表删除,“ x”代表可执行文件(其中)。

用户值可以是:

u:文件的所有者

g:小组成员

o:其他

答:全部

权限类型可以是r,w和x。

设置和更新权限

要设置文件的权限,请使用chmod命令执行权限声明。例如,我们要为所有用户和文件“ Demo.txt”组设置读写权限。我们必须使用chmod命令传递“ u = rw,go = rw Demo.txt”权限声明。要显示文件许可权,请执行以下命令:

ls -l Demo.txt

上面的命令将显示“ Demo.txt”文件的文件当前文件权限。

要更改权限,请执行以下命令:

chmod u=rw,go=rw Demo.txt

考虑以下输出:

从上面的输出中,“ Demo.txt”的访问权限已更改。

设置多个文件的权限

我们可以使用chmod命令一次设置多个文件的权限。要更改多个文件的文件许可权,请使用chmod命令指定文件模式。例如,如果我们要为所有文本文件设置读写权限,请指定*。使用chmod命令的txt模式。

要查看当前工作目录中所有文本文件的权限,请执行以下命令:

ls -l *.txt

它将列出所有文本文件及其权限模式。考虑以下输出:

从上面的输出中,许多文件仅对其他用户具有读取权限。

要设置其他用户的读写权限,请执行以下命令:

chmod o+w *.txt

它将为文本文件的其他用户设置读写权限。考虑以下输出:

数字速记

我们可以使用数字值而不是字母来指定权限。一个三位数的值用于指定权限。最左边的数字代表所有者(u),中间的数字代表组成员(g)。最右边的数字代表其他数字(o)。

下表代表数字及其权限:

Digits Permissions
000 No permission
001 Execute permission
010 Write permission
011 Write and execute permissions
100 Read permission
101 Read and execute permissions
110 Read and write permissions
111 Read, write, and execute permissions