18 管理 NFSv4 访问控制列表 #
在 Linux 中,除了针对用户、组和其他人 (ugo
) 的读取、写入、执行 (rwx
) 这些简单标志之外,各访问控制列表 (ACL) 没有统一的标准。控制能力相对较好的一个选择是《Draft POSIX ACLs》(POSIX ACL 草稿),它尚未得到 POSIX 的正式标准化。另一个选择是 NFSv4 ACL,它是 NFSv4 网络文件系统的一部分,目的是为了在 Linux 上的 POSIX 系统与 Microsoft Windows 上的 WIN32 系统之间提供适当的兼容性。
NFSv4 ACL 不足以正确实施草稿 POSIX ACL,因此未进行在 NFSv4 客户端上映射 ACL 访问的尝试(比如使用 setfacl
)。
使用 NFSv4 时,即使在仿真模式下也无法使用草稿 POSIX ACL,并且需要直接使用 NFSv4 ACL。这意味着,虽然 setfacl
能够在 NFSv3 上运行,却不能在 NFSv4 上运行。为了能够在 NFSv4 文件系统上使用 NFSv4 ACL,SUSE Linux Enterprise Server 提供了 nfs4-acl-tools
包,其中包含下列各项:
nfs4-getfacl
nfs4-setfacl
nfs4-editacl
这些操作的运作方式与用于检查和修改 NFSv4 ACL 的 getfacl
和 setfacl
类似。仅当 NFS 服务器上的文件系统提供对 NFSv4 ACL 的全面支持时,这些命令才有效。虽然某些访问控制项 (ACE) 的特定组合可能在客户端中不可用,但客户端上运行的程序都将受到服务器施加的任何限制的影响。
不支持在输出 NFS 服务器上本地装入 NFS 卷。
其他信息#
有关信息,请参见 Introduction to NFSv4 ACLs(NFSv4 ACL 简介,网址为 http://wiki.linux-nfs.org/wiki/index.php/ACLs#Introduction_to_NFSv4_ACLs)。