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
命令会给文件的所有者设置读取、写入和执行权限,给文件的组和其他用户设置读取和执行权限。
参考
本文参考以下文章,在此致以诚挚谢意!