Skip to content

Linux常用命令之权限管理

Linux 常用命令之权限管理

简介

在Linux系统中,权限管理是确保系统安全和正确操作的关键部分。Linux使用基于用户和组的权限系统来控制对文件和目录的访问。

权限介绍

用户分类

Linux 从文件角度将系统中的所有用户划分为三类:

  • 文件所有者:user, 表示符号为 u
  • 文件所有者同组用户:group, 表示符号为 g
  • 其它用户:other, 表示符号为 o

针对不同的文件,同一个用户具有不同的身份角色和对应的权限。

例如:

对于 a.txt 文件,用户 A 为所有者,用户 B 为其它用户,而对于 b.txt 文件,用户 B 为所有者,用户 A 为其它用户。

权限分类

针对不同的文件,可以执行哪些操作,都是由文件自身具备的权限进行控制,权限不同,可进行的操作也不同。

Linux 将操作权限划分为三类:

  • 读取权限: read, 表示符号为 r 。具备该权限,文件内容可以读取,如果目录具备该权限,可以查看目录中的内容。
  • 写入权限: write, 表示符号为 r 。 具备该权限,文件可以写入内容,如果目录具备该权限,可以在目录中创建新文件。
  • 执行权限: execute, 表示符号为 r 。具备该权限,文件可以执行,如果目录具备该权限,可以进入该目录。
查看权限

通过 ls -l 命令可以查看文件或目录的权限。

权限管理

Linux 通过 chmod 命令对系统中的文件进行权限管理,在进行权限管理时,可以通过两种方式实现。

文字设定法

格式
chmod [角色][操作][权限]... 文件
常用选项
  • +:添加权限。
  • -:移除权限。
  • =:赋予确切的权限,移除其他所有权限。
  • u:用户(文件所有者)。
  • g:组(文件所属组)。
  • o:其他(其他用户)。
  • a:所有用户(u+g+o)。
基本使用

为所有者添加执行权限

chmod u+x file

去掉其它用户读取权限

chmod o-r file

给所有用户添加执行权限

chmod +x file

将文件重新设置权限为所有者具有读写权限,同组用户和其它用户具有读取权限

chmod u=rw,g=r,o=r file

去掉所有用户的执行权限

chmod a-x file

去掉其它用户的的所有权限

chmod o=- file

数字设定法

chmod 命令还可以使用三位八进制数分别代表所有者,同组用户及其它用户的权限,并将每种权限赋予一个特定值,某个角色具备的多种权限,只需将对应的值相加即可,此方式使用灵活方便。

格式
chmod 权限 文件...
符号意义
  • 读取权限:表示数字为 4
  • 写入权限:表示数字为 2
  • 执行权限:表示数字为 1
基本使用

给所有用户添加所有权限

chmod 777 file

设置文件所有者为读/写权限,组和其他用户为只读权限

bash chmod 644 file

设置文件所有者为读写权限,组用户为读取权限,其他用户无任何权限

bash
chmod 640 file

总结

权限管理是 Linux 系统管理中非常操作的操作,数字设定法更是必须要掌握的能力。