文件和目录为它们的所有者、组群、和所有其他系统用户规定了许可权限。但是,这些权限设置也有其局限性。例如:不同的用户无法被配置使用不同的权限。访问存取控制列表(Access Control Lists,ACL)就由此而生。
红帽企业 Linux 3 内核为 ext3 文件系统和 NFS 导出的文件系统提供 ACL 支持。ACL 在通过 Samba 存取的 ext3 文件系统上也被识别。
除了在内核中的支持外,你还需要 acl 软件包才能实现 ACL。其中包含用来添加、修改、删除、和检索 ACL 信息的工具。
cp 和 mv 命令会复制或转移任何与文件和目录相关的 ACL。
在文件或目录中使用 ACL 之前,它们所在的分区必须使用 ACL 支持来挂载。如果它是本地的 ext3 文件系统,它可以使用以下命令来挂载:
mount -t ext3 -o acl <device-name> <partition> |
例如:
mount -t ext3 -o acl /dev/hdb3 /work |
如果分区被列在 /etc/fstab 文件中,该分区的项目就能够包括 acl 选项,如:
LABEL=/work /work ext3 acl 1 2 |
如果某个 ext3 文件系统是通过 Samba 来存取的,而且其中还启用了 ACL,ACL 就会被识别,这是因为 Samba 已经使用 --with-acl-support 选项被编译了。在存取或挂载 Samba 共享的时候不需要任何特殊标志。