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 递归改变文件权限