Menu Close

24.4. 使用符号值更改文件权限

您可以使用带有符号值(组合字母和符号)的 chmod 实用程序来更改文件或目录的文件权限。

您可以分配以下权限

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

可将权限分配给以下级别的所有权

  • 用户所有者(u)
  • 组所有者(g)
  • 其他(o)
  • All (a)

要添加或删除权限,您可以使用以下符号

  • + 要在现有权限之上添加权限
  • - 从现有权限中删除权限
  • = 删除现有权限并明确定义新权限

流程

  • 要更改文件或目录的权限,请使用:

    $ chmod <level><operation><permission> file-name

    <level> 替换为您要为其设置权限的所有权级别。将 <operation> 替换为其中一个符号。将 <permission> 替换为您要分配的权限。用文件或目录的名称替换 file-name。例如,若要向所有人授予读取、写入和执行(rwx) my-script.sh 的权限,请使用 chmod a=rwx my-script.sh 命令。

    如需更多详细信息,请参阅基本文件权限

验证步骤

  • 要查看特定文件的权限,请使用:

    $ ls -l file-name

    用文件名替换 file-name

  • 要查看特定目录的权限,请使用:

    $ ls -dl directory-name

    使用目录名替换 directory-name

  • 要查看特定目录中所有文件的权限,请使用:

    $ ls -l directory-name

    使用目录名替换 directory-name

例 24.8. 更改文件和目录的权限

  • 要将 my-file.txt 的文件权限从 -rw-rw-r-- 改为 -rw------,请使用:

    1. 显示 my-file.txt 的当前权限:

      $ ls -l my-file.txt
      -rw-rw-r--. 1 username username 0 Feb 24 17:56 my-file.txt
    2. 从组所有者(g)和其它权限(o)删除读取、写入和执行的权限(rwx):

      $ chmod go= my-file.txt

      请注意,任何在等号(=)之后没有被指定的权限都会被自动禁止。

    3. 验证 my-file.txt 的权限是否已正确设置:

      $ ls -l my-file.txt
      -rw-------. 1 username username 0 Feb 24 17:56 my-file.txt
  • 要将 my-directory 的文件权限从 drwxrwx--- 改为 drwxrwxr-x,请使用:

    1. 显示 my-directory 的当前权限:

      $ ls -dl my-directory
      drwxrwx---. 2 username username 4096 Feb 24 18:12 my-directory
    2. 为所有用户添加读取和执行(r-x)访问权限(一个):

      $ chmod o+rx my-directory
    3. 验证 my-directory 及其内容的权限是否已正确设置:

      $ ls -dl my-directory
      drwxrwxr-x. 2 username username 4096 Feb 24 18:12 my-directory