Skip to content

chmod

chmod 是 Unix 和类 Unix 操作系统(如 Linux)中的一个命令,用于更改文件或目录的访问权限。 通过 chmod 命令,用户可以设置文件或目录的所有者、所属组以及其他用户的读取、写入和执行权限。

权限类型

  • 读取 (r): 允许查看文件内容或列出目录下的文件。
  • 写入 (w): 允许编辑文件内容或在目录中创建和删除文件。
  • 执行 (x): 对于文件,允许将其作为程序运行;对于目录,允许进入该目录。

用户类别

  • 所有者 (u): 文件或目录的创建者。
  • 所属组 (g): 文件或目录所属的用户组。
  • 其他用户 (o): 除了所有者和所属组以外的用户。
  • 所有 (a): 包括所有者、所属组和其他用户。

使用方法

chmod 命令有两种基本使用方式:符号模式和八进制模式。

符号模式

格式为 chmod [who][operator][permission] file...

  • who 可以是 u(用户)、g(组)、o(其他)、a(全部)。
  • operator 可以是 +(添加权限)、-(移除权限)、=(设置权限)。
  • permission 可以是 r(读)、w(写)、x(执行)。

例如:

  • chmod u+x file.txt 为文件所有者添加执行权限。
  • chmod go-rwx file.txt 移除组和其他用户的读、写、执行权限。
  • chmod a+r file.txt 为所有人添加读权限。

八进制模式

在这种模式下,权限用数字表示,其中每个权限位对应一个数值:

  • 4 表示读取权限 (r)。
  • 2 表示写入权限 (w)。
  • 1 表示执行权限 (x)。

将这些数字相加,可以得到一个三位数来表示所有者的权限、所属组的权限和其他用户的权限。例如:

  • 755 对应 rwxr-xr-x,意味着所有者有读、写、执行权限,而组和其他用户只有读和执行权限。
  • 644 对应 rw-r--r--,意味着所有者有读和写权限,而组和其他用户只有读权限。

使用例子:

  • chmod 755 file.txt 设置文件所有者有全部权限,组和其他用户有读和执行权限。
  • chmod 644 file.txt 设置文件所有者有读和写权限,组和其他用户只有读权限。

请注意,在使用 chmod 命令时,需要有足够的权限才能改变文件或目录的权限。通常情况下,文件或目录的所有者或超级用户(root)可以进行此类更改。

chmod -R 755 files 递归改变文件权限