chown更改文件权限

chmod 是 Linux/Unix 系统中的一个命令,用于改变文件或目录的权限。每个文件和目录都有三个基本权限类别:

  1. 读权限 (r): 允许查看文件内容或列出目录内容。
  2. 写权限 (w): 允许修改文件或在目录中创建、删除文件。
  3. 执行权限 (x): 允许执行文件(如脚本或程序)或进入目录。

每个文件和目录有三类用户相关的权限:

  1. 文件所有者 (user,u)
  2. 文件所属的用户组 (group,g)
  3. 其他人 (others,o)

权限可以用符号模式数字模式来表示。

chmod 使用语法

chmod [options] mode file
  • mode: 用来指定权限的符号模式或数字模式。
  • file: 需要修改权限的文件或目录。

符号模式示例

符号模式是通过 u(用户)、g(组)、o(其他人)以及 r(读)、w(写)、x(执行)来设置权限。

  • + : 添加权限。
  • - : 移除权限。
  • = : 精确设置权限。

示例 1:给文件的所有者添加执行权限

chmod u+x myfile

解释:为文件 myfile 的所有者添加执行权限。

示例 2:移除组成员的写权限

chmod g-w myfile

解释:移除 myfile 所属组成员的写权限。

示例 3:为所有人添加读权限

chmod a+r myfile

解释:为文件的所有用户(a 代表所有人,即 ugo)添加读权限。

示例 4:将文件权限设置为“用户可读写,组和其他人只读”

chmod u=rw,g=r,o=r myfile

解释:将 myfile 的权限设置为用户拥有读写权限,组和其他用户只有读权限。

数字模式示例

数字模式使用一个三位八进制数字,每位数字代表用户、组、其他人的权限。权限的数值计算如下:

  • 读 (r) = 4
  • 写 (w) = 2
  • 执行 (x) = 1

通过将这些数值相加,得出不同的权限组合。

常用的权限组合:

  • 7:读、写、执行权限 (4 + 2 + 1)
  • 6:读、写权限 (4 + 2)
  • 5:读、执行权限 (4 + 1)
  • 4:读权限
  • 0:无权限

数字模式语法示例:

  • 第一位表示用户(u),
  • 第二位表示组(g),
  • 第三位表示其他人(o)。

示例 1:将文件权限设置为 755(用户可读写执行,组和其他人只读执行)

chmod 755 myfile

解释:用户具有 rwx 权限(7),组和其他人具有 rx 权限(5)。

示例 2:将文件权限设置为 644(用户可读写,组和其他人只读)

chmod 644 myfile

解释:用户具有 rw 权限(6),组和其他人具有 r 权限(4)。

示例 3:将目录权限设置为 777(所有人都拥有完全的读写执行权限)

chmod 777 mydir

解释:用户、组和其他人都具有 rwx 权限。

递归设置权限

可以使用 -R 选项递归地更改目录及其所有子目录和文件的权限。

示例:递归地将目录及其内容的权限设置为 755

chmod -R 755 /path/to/directory

解释:对 /path/to/directory 目录及其所有文件和子目录设置权限。