chmod
是 Linux/Unix 系统中用于更改文件或目录权限的命令,它是 “change mode” 的缩写。
在 Linux 中,每个文件和目录都有一组权限,用于控制对它们的访问。
这些权限分为三组:
文件所有者(Owner)、文件所属组(Group)、其他用户(Others)。
对于每组用户,有三种基本权限:
读取(Read)、写入(Write)、执行(Execute)。
chmod
命令允许用户修改文件或目录的权限,以便控制哪些用户可以对其进行读取、写入或执行操作。
chmod
命令可以通过两种方式指定权限:符号模式和数字模式。
符号模式:
- u:表示文件所有者(user)。
- g:表示文件所属组(group)。
- o:表示其他用户(others)。
- a:表示所有用户,等同于
ugo
的组合。 - +:添加权限。
- –:移除权限。
- =:设置权限,覆盖原有权限。
- r:读取权限。
- w:写入权限。
- x:执行权限。
- s:设置 SUID 或 SGID 位。
- t:设置粘滞位。
使用符号模式时,你可以使用诸如 u
(文件所有者)、g
(文件所属组)、o
(其他用户)、a
(所有用户)等标识符来表示不同的用户组。然后,你可以使用 +
(添加权限)、-
(移除权限)、=
(设置权限)等操作符来指定要修改的权限。
例如,chmod u+x file.txt
将给文件所有者添加执行权限。
数字模式:
- 0:没有权限。
- 1:执行权限。
- 2:写入权限。
- 3:写入和执行权限。
- 4:读取权限。
- 5:读取和执行权限。
- 6:读取和写入权限。
- 7:读取、写入和执行权限。
数字模式是使用数字表示权限的一种简单方式。
每种权限被分配一个数字值:读取权限为 4、写入权限为 2、执行权限为 1。
然后,你可以通过将这些数字相加来指定要设置的权限。
例如,chmod 755 file.txt
将文件的所有者分配读取、写入和执行权限(4+2+1=7),而其他用户分配读取和执行权限(4+1=5)。
其他参数:
- -R, –recursive:递归地更改目录及其子目录中的文件权限。
- –reference=RFILE:从参考文件 RFILE 复制权限模式。
- –version:显示版本信息并退出。
- –help:显示帮助信息并退出。
chmod
命令的基本语法如下:
chmod [选项] 模式 文件或目录
在这个命令中,模式
可以是符号模式或数字模式,文件或目录
是要修改权限的文件或目录的名称。
通过使用适当的参数和模式,chmod
命令允许用户精确地控制文件和目录的访问权限。