Linux 文件权限介绍

本文将详细介绍 Linux 中的文件权限概念和相关命令,帮助读者深入了解如何正确管理和使用文件权限。

文件权限的组成

使用 ls -l 我们可以查看文件或者目录的属性

1
2
3
drwxr-xr-x   5 root root  4096 Dec 26 07:21 home
lrwxrwxrwx 1 root root 7 Aug 10 00:17 lib -> usr/lib
-rw-r--r-- 1 root root 1382 Dec 23 2021 rsyslog.conf
linux-file-auth

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

  1. 符号模式

    你可以使用 u(用户)、g(组)、o(其他)和 a(所有)来指定要修改的权限,使用 +(添加)、-(删除)和 =(设置)来指定要执行的操作,使用 r(读取)、w(写入)和 x(执行)来指定要修改的权限类型。

    例如,chmod u+x file 命令会给文件的所有者添加执行权限。

  2. 数字模式

    你可以使用三个数字来设置权限,每个数字代表一个权限组(所有者、组、其他),每个数字的值是 0 到 7,代表不同的权限组合。

    例如,chmod 755 file 命令会给文件的所有者设置读取、写入和执行权限,给文件的组和其他用户设置读取和执行权限。

参考

本文参考以下文章,在此致以诚挚谢意!

Linux_基础_文件权限 - Catnip - 博客园 (cnblogs.com)

Linux 文件权限讲解(一般权限、特殊权限、隐藏权限、访问控制列表、Umask)-CSDN博客