chmod

chmod

许多新用户在处理文件或目录时会犯错误(或产生误解)chmod,因为缺乏以下方面的信息知识:

  • ugo和的符号表示法rwx
  • 八进制数的使用

因此,在这个答案我提供了一些有用的信息,可以帮助理解正确的符号表示法和八进制数的使用。

答案1

Linux 上的每个文件和目录都有所有者。每个文件的所有者都可以为所有者本人、文件的组所有者和其他人(即任何其他用户)设置不同类型的访问权限(读取、写入和执行)。

ls -l每个文件和目录的访问级别都显示在任意文件或目录的输出中。

为了解读它们,这里有一个例子:

$ ls -l power.txt
-rw-r--r--  1 user user       4096 Aug  1 23:24  power.txt

前 10 个字符称为文件属性. 其中 10 个:

  • -第一个字符显示文件或目录d或符号链接的类型l特殊字符 c文件或阻止特殊 b文件。
  • 其余 9 个字符称为文件模式(或文件权限)。这些表示文件所有者、文件组所有者和其他所有人的读、写和执行权限
所有者 团体 世界
rwx rwx rwx

查看一些文件属性的示例以更好地理解它们:

文件属性 属性的含义
-rwx------ 常规文件,可由文件所有者读取、写入和执行。其他任何人都无权访问。
-rw------- 该文件是普通文件,文件所有者可以对其进行读写。其他任何人都无权访问。
-rw-r--r-- 该文件是普通文件,文件所有者可以读写。文件所有者组的成员可以读取该文件。该文件可供所有人读取。
-rwxr-xr-x 可由文件所有者读取、写入和执行的常规文件。其他任何人都可以读取和执行该文件。
-rw-rw---- 仅可由文件所有者和文件组所有者的成员读写的常规文件。
lrwxrwxrwx 一个符号链接。注意:所有符号链接都有“虚拟”权限。真正的权限与符号链接指向的实际文件保存在一起。
drwxrwx--- 目录。所有者和所有者组的成员可以进入目录,并在目录中创建、重命名和删除文件。
drwxr-x--- 目录。所有者可以进入目录并创建、重命名和删除目录内的文件。所有者组的成员可以进入目录,但不能创建、删除或重命名文件。

chmod

chmod设置文件或目录的模式(权限)位。

句法:

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...

chmod 根据模式更改每个给定文件的文件模式位,可以是

  1. 需要做出的改变的象征,
  2. 或表示新模式位的位模式的八进制数。

符号表示法

符号模式的格式为

[ugoa...][[-+=][perms...]...]

在哪里,

  • ugoa- 字母组合控制哪些用户对该文件的访问权限将被更改:
    1. u- 控制它的用户
    2. g- 文件组中的其他用户
    3. o- 不属于该文件组的其他用户(指其他所有人或全世界)。
    4. a- 或所有用户
    5. 若以上均未给出,则效果如同a 已给出一样。
  • perms- 是集合中的零个或多个字母rwx,或者是集合中的一个字母ugo
  • -+=-
    1. 操作 +员将选定的文件模式位添加到每个文件的现有文件模式位中
    2. -导致它们被删除
    3. =导致它们被添加并且导致未提及的位被删除,但目录未提及的设置用户和组 ID 位不受影响

多个规范可以用逗号分隔。

为了清楚起见,请看一些例子:

符号 意义
u+x 为所有者添加执行权限。
u-x 删除所有者的执行权限。
+x 为所有者、组和用户添加执行权限。相当于 a+x。
o-rw 删除所有者和组所有者之外任何人的读写权限。
go=rw 设置权限G团和o必须具有读写权限。如果G团体或o先前具有执行权限的用户将被删除。
u+x,go=rx 为所有者添加执行权限,并设置组和其他人读取和执行的权限。
o=u 对于特定文件,设置模式位o等于文件的所有者(文件或目录所有者)
  • 使用八进制数:

    八进制 二进制 文件模式
    0 000 ---
    1 001 --x
    2 010 -w-
    3 011 -wx
    4 100 r--
    5 101 r-x
    6 110 rw-
    7 111 rwx

因此,以下内容的工作相同:

chmod a=rwx [file_name]
chmod 777 [file_name]

chmod 775 [file_name]
chmod ug=rwx,o=rx [file_name]

借助以下方式提供信息知识Linux 命令行作为参考/来源。

您可以下载 pdf 版本Linux 命令行预订自Sourceforge

相关内容