Linux 文件权限介绍
本文将详细介绍 Linux 中的文件权限概念和相关命令,帮助读者深入了解如何正确管理和使用文件权限。
文件权限的组成
使用 ls -l 我们可以查看文件或者目录的属性
1 | drwxr-xr-x 5 root root 4096 Dec 26 07:21 home |
Linux 中,文件所有者分为三类,即文件所有者(user)、群组(group)和其他人(other)所属。在设置权限时,需要分别对这 3 个角色分别设置读、写、执行权限。
在 ls -l 列出的结果中,第 1 个字符表示文件类型,接着 3
个字符分别表示文件所有者(user)的读、写、执行权限,用户权限后 3
个字符分别是用户组的读、写、执行权限,最后 3
个字符分别是其它(非用户、用户组)的权限。
权限表示
| 表示方法 | 读 | 写 | 执行 | 无权限 | 示例 |
|---|---|---|---|---|---|
| 字符 | r | w | x | - | rwxr-x--- |
| 数字 | 4 | 2 | 1 | 0 | 750 |
注意:使用数字表示时,需要将一个角色中的权限值求和来表示。例如用户的权限为
rwx ,表示成 7。
权限修改
权限指令如下:
- chgrp(change group 的缩写):改变文件所属群组
- chown(change owner 的缩写):改变文件所有者
- chmod(change mode 的缩写):改变文件权限
chgrp
语法如下:
1 | chgrp [OPTION]... GROUP FILE... |
其中,GROUP
是你想要设置为文件或目录新的组所有者的组名,FILE
是你想要修改的文件或目录的名称。
例如,chgrp staff myfile 命令会将文件
myfile 的组所有权改为 staff。
chown
1 | chown [OPTION]... [OWNER][:[GROUP]] FILE... |
其中,OWNER
是你想要设置为文件或目录新的用户所有者的用户名,GROUP
是你想要设置为文件或目录新的组所有者的组名,FILE
是你想要修改的文件或目录的名称。
例如,chown john:staff myfile 命令会将文件
myfile 的用户所有权改为 john,组所有权改为
staff。
chmod
符号模式
你可以使用
u(用户)、g(组)、o(其他)和a(所有)来指定要修改的权限,使用+(添加)、-(删除)和=(设置)来指定要执行的操作,使用r(读取)、w(写入)和x(执行)来指定要修改的权限类型。例如,
chmod u+x file命令会给文件的所有者添加执行权限。数字模式
你可以使用三个数字来设置权限,每个数字代表一个权限组(所有者、组、其他),每个数字的值是 0 到 7,代表不同的权限组合。
例如,
chmod 755 file命令会给文件的所有者设置读取、写入和执行权限,给文件的组和其他用户设置读取和执行权限。
参考
本文参考以下文章,在此致以诚挚谢意!