![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=1738864132-BD80EUeWasE9GDQwFaTWOuWUBThB9EF0-0-1c9082737f4c3b9988b6d516f2ebd7fd)
当某个文件系统支持ACL选项时,可以对其进行ACL权限的设置。可以使用setfacl命令进行设置,使用getfacl命令查看权限。
下面演示ACL权限的设置方法。例如,要对file文件设置ACL权限,要求用户jess可以写,群组sale只能读,设置如下:
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_2.jpg?sign=1738864132-uhBwAji7iUtlnmxNzsADX2sgNOBuhEf8-0-d5ab169ba54541e29042d379a2d57792)
setfacl命令后面的“m”选项表示修改,“u”选项用于指定某个用户名,“g”选项用于指定某个群组名。需要注意的是,如果“u”或“g”选项后面不加具体的用户名或群组名,则对文件的拥有人和拥有组修改权限。
设置完成后,使用“ls-l file”命令查看时,会发现权限上多了一个“+”符号。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_3.jpg?sign=1738864132-2p7EOhiOeOVaV3jnvhXMdxuuUXgOYoDu-0-6a878254dc09bc30e0d0ce8acae222bd)
如果发现某个文件权限上多了一个“+”符号,则说明这个文件被设置了ACL权限。这时需要使用上面提到的getfacl命令查看具体细节。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_55_4.jpg?sign=1738864132-meSZh0JlQsNir4cmB3bCr9zBKgAguLVm-0-9a8f16399fa6afbf3b620411f18000ed)
前三个注释信息标识文件的名称、拥有人身份和拥有组身份。可能有读者会对mask这一项有疑问,其实mask条目是对“文件指定用户”“文件拥有组”和“文件指定组”设置的最大权限。例如,把上面的mask条目强行设置成只读。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_56_1.jpg?sign=1738864132-MbCnZlAMSSF96apwo49nS9IxxDzbfxxi-0-5c3bc020a924373199626fa438cb9e7d)
由于把mask条目强行改成了只读,并且根据mask的定义,此时用户jess只能读取file文件,因此mask条目限制了指定用户的有效权限。
如果想使某个新文件和一个已经存在的文件拥有相同的ACL权限,可以通过getfacl命令以输入的方式赋予新文件相同的权限。例如,对newfile文件和file文件设置相同的ACL权限。
![](https://epubservercos.yuewen.com/EA3E16/20637464601307906/epubprivate/OEBPS/Images/41294_56_2.jpg?sign=1738864132-fPxfeAKlFn9JL6av7IBBtsxdmMjkJcx5-0-3cebcabf8bac83dbc0f7bff8d8d96b94)