
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.1 对文件设置ACL权限
RHEL8挂载文件系统后,默认支持ACL选项,但在早期的版本中,如RHEL5和RHEL6中并不尽然。必须先确保文件系统支持ACL选项。例如,可以使用tune2fs命令查看ext4类型的文件系统是否开启了ACL选项。

当某个文件系统支持ACL选项时,可以对其进行ACL权限的设置。可以使用setfacl命令进行设置,使用getfacl命令查看权限。
下面演示ACL权限的设置方法。例如,要对file文件设置ACL权限,要求用户jess可以写,群组sale只能读,设置如下:

setfacl命令后面的“m”选项表示修改,“u”选项用于指定某个用户名,“g”选项用于指定某个群组名。需要注意的是,如果“u”或“g”选项后面不加具体的用户名或群组名,则对文件的拥有人和拥有组修改权限。
设置完成后,使用“ls-l file”命令查看时,会发现权限上多了一个“+”符号。

如果发现某个文件权限上多了一个“+”符号,则说明这个文件被设置了ACL权限。这时需要使用上面提到的getfacl命令查看具体细节。

前三个注释信息标识文件的名称、拥有人身份和拥有组身份。可能有读者会对mask这一项有疑问,其实mask条目是对“文件指定用户”“文件拥有组”和“文件指定组”设置的最大权限。例如,把上面的mask条目强行设置成只读。

由于把mask条目强行改成了只读,并且根据mask的定义,此时用户jess只能读取file文件,因此mask条目限制了指定用户的有效权限。
如果想使某个新文件和一个已经存在的文件拥有相同的ACL权限,可以通过getfacl命令以输入的方式赋予新文件相同的权限。例如,对newfile文件和file文件设置相同的ACL权限。
