![RHEL8系统管理与性能优化](https://wfqqreader-1252317822.image.myqcloud.com/cover/653/39479653/b_39479653.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.1 对文件设置ACL权限
RHEL8挂载文件系统后,默认支持ACL选项,但在早期的版本中,如RHEL5和RHEL6中并不尽然。必须先确保文件系统支持ACL选项。例如,可以使用tune2fs命令查看ext4类型的文件系统是否开启了ACL选项。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_1.jpg?sign=1739002289-DYFDKHxnXINYzoa4d0FYMEBYbwpOVvmK-0-5caf125987902ac21cae676fa6020cef)
当某个文件系统支持ACL选项时,可以对其进行ACL权限的设置。可以使用setfacl命令进行设置,使用getfacl命令查看权限。
下面演示ACL权限的设置方法。例如,要对file文件设置ACL权限,要求用户jess可以写,群组sale只能读,设置如下:
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_2.jpg?sign=1739002289-6zAktms2bZBif4QTgVIRoyE7wCaYOUYo-0-69981672fda716a45efa4667fa538ab8)
setfacl命令后面的“m”选项表示修改,“u”选项用于指定某个用户名,“g”选项用于指定某个群组名。需要注意的是,如果“u”或“g”选项后面不加具体的用户名或群组名,则对文件的拥有人和拥有组修改权限。
设置完成后,使用“ls-l file”命令查看时,会发现权限上多了一个“+”符号。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_3.jpg?sign=1739002289-NqTfOqHfBBKQyxEqlRHY2bS8cC5SS39z-0-83613afc9462a0d0207744006654c09c)
如果发现某个文件权限上多了一个“+”符号,则说明这个文件被设置了ACL权限。这时需要使用上面提到的getfacl命令查看具体细节。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_4.jpg?sign=1739002289-s3X6P7oWFFykENoUi1Yi4HgPRVAD3M4F-0-c96dabc9ad788c0b51e20a4688585922)
前三个注释信息标识文件的名称、拥有人身份和拥有组身份。可能有读者会对mask这一项有疑问,其实mask条目是对“文件指定用户”“文件拥有组”和“文件指定组”设置的最大权限。例如,把上面的mask条目强行设置成只读。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_56_1.jpg?sign=1739002289-5N4jcZz33a71SLS5m6hp2icL9tepu0ka-0-42ea7d492d0088e703cf73aa35d6da28)
由于把mask条目强行改成了只读,并且根据mask的定义,此时用户jess只能读取file文件,因此mask条目限制了指定用户的有效权限。
如果想使某个新文件和一个已经存在的文件拥有相同的ACL权限,可以通过getfacl命令以输入的方式赋予新文件相同的权限。例如,对newfile文件和file文件设置相同的ACL权限。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_56_2.jpg?sign=1739002289-3uur6vvPq2N3gycry0Uhgt7nAjx5rpsK-0-78639ce7826e9e0e5951d71629228401)