前文我们对Linux操作系统的权限管理进行了简要的介绍。今天我们就详细介绍一下关于RWX权限管理的更多细节。很多同学对RWX权限都有一些了解,但是要说出子丑来恐怕就不那么容易了。
Linux的RWX权限控制又称为DAC(Discretionary Access Control,自主访问控制)。DAC 机制就是指对象的拥有者可以任意修改或授予此对象相应的权限。从主体和客体的角度来说,就是主体对其拥有的客体,有权决定自己和其他主体对该客体应具有怎样的访问权限。比如在Linux中的某个用户A可以随意设定UGO(即:本用户、本用户组、其他用户)对该文件的RWX(即:读、写、执行)权限。
本文将从RWX最基本的使用和原理入手,然后深入Linux操作系统内核实现,深层次的剖析RWX的实现细节。
RWX权限基本组成及原理
RWX访问控制恐怕是我们见得最多的访问控制了。当我们通过ls命令获取文件的详细信息时,其前面的rwx字符串就是对文件权限的标示,而后面跟的itworld13 itworld123则是其所属用户和组的信息。如图1就是RWX的一个实例。
图1 RWX权限示例
RWX的组成及含义如图2所示。整个权限描述分为4段,第一段用于描述该文件的类型,可以是常规文件(-)、目录(d)、块设备(b)、链接(l)和字符设备(c)等等。