第 5 章 访问控制列表
文件和目录为文件所有者、与 文件关联的组以及系统的所有其他用户设置了权限集。但是,这些权限集存在限制。例如,无法为不同的用户配置不同的权限。因此,实施了访问控制列表 (ACL)。
Red Hat Enterprise Linux 内核为 ext3 文件系统和 NFS 导出的文件系统提供 ACL 支持。通过 Samba 访问的 ext3 文件系统也可识别 ACL。
除了内核中的支持外,还需要 acl
软件包来实现 ACL。它包含用于添加、修改、删除和检索 ACL 信息的实用程序。
cp
和 mv
命令复制或移动任何与文件和目录关联的 ACL。
5.1. 挂载文件系统
在将 ACL 用于文件或目录之前,文件或目录的分区必须使用 ACL 支持进行挂载。如果它是一个本地 ext3 文件系统,它可以使用以下命令挂载:
mount -t ext3 -o acl device-name 分区
例如:
mount -t ext3 -o acl /dev/VolGroup00/LogVol02 /work
或者,如果分区在 /etc/fstab
文件中列出,则分区的条目可以包含 acl
选项:
LABEL=/work /work ext3 acl 1 2
如果通过 Samba 访问 ext3 文件系统并且为其启用了 ACL,则识别 ACL,因为 Samba 已使用 --with-acl-support
选项编译。访问或挂载 Samba 共享时不需要特殊标志。
5.1.1. NFS
默认情况下,如果 NFS 服务器导出的文件系统支持 ACL,并且 NFS 客户端可以读取 ACL,客户端系统将使用 ACL。
要在配置服务器时禁用 NFS 共享上的 ACL,请在 /etc/exports
文件中包含 no_acl
选项。要在客户端上挂载 NFS 共享时禁用 ACL,请通过命令行或 /etc/fstab
文件使用 no_acl
选项进行挂载。