📅  最后修改于: 2020-12-08 05:13:03             🧑  作者: Mango
Linux chmod命令用于更改文件和目录的访问权限。它代表更改模式。它不能更改符号链接的许可。甚至,它也忽略了递归目录遍历中的符号链接。
在Linux文件系统中,每个文件都与一个特定的所有者相关联,并且具有不同用户的访问权限。用户类可以是:
Linux中的文件权限分为以下三种类型:
让我们看看如何使用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 |