跳过导航链接 | |
退出打印视图 | |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
传统的 UNIX 文件保护可为以下三类用户提供读写和执行权限:文件所有者、文件组和其他用户。在 UFS 文件系统中,访问控制列表 (access control list, ACL) 通过允许您执行以下操作来提供更好的文件安全性:
为文件所有者、组、其他用户、特定用户和特定组定义文件权限
为上面的每一种类别定义缺省权限
注 - 对于 ZFS 文件系统中的 ACL 以及 NFSv4 文件中的 ACL,请参见《Oracle Solaris ZFS 管理指南》中的第 8 章 "使用 ACL 和属性保护 Oracle Solaris ZFS 文件"。
例如,如果想要组中的每个用户都能够读取某文件,则只需要授予该组对该文件的读取权限即可。现在,假设您希望组中只有一个用户能够写入该文件。标准 UNIX 不提供该级别的文件安全性。但是,ACL 可提供此级别的文件安全性。
在 UFS 文件系统中,通过 setfacl 命令在文件中设置 ACL 项。UFS ACL 项由以下字段(使用冒号进行分隔)组成:
entry-type:[uid|gid]:perms
设置文件权限的 ACL 项的类型。例如,entry-type 可以是 user(文件所有者)或 mask(ACL 掩码)。有关 ACL 项的列表,请参见表 6-7 和表 6-8。
用户名或用户 ID (user ID, UID)。
组名或组 ID (group ID, GID)。
表示 entry-type 中设置的权限。perms 可以由符号字符 rwx 或八进制数字表示。这些数字与用于 chmod 命令的数字相同。
在以下示例中,ACL 项为用户 stacey 设置读写权限。
user:stacey:rw-
注意 - 仅 UFS 文件系统支持 UFS 文件系统属性(例如 ACL)。因此,如果将具有 ACL 项的文件恢复或复制到 /tmp 目录(通常挂载为 TMPFS 文件系统)中,则这些 ACL 项将丢失。使用 /var/tmp 目录临时存储 UFS 文件。 |
下表列出了对文件设置 ACL 时可以使用的有效 ACL 项。前三个 ACL 项提供基本的 UNIX 文件保护。
表 6-7 UFS 文件的 ACL 项
|
除表 6-7 中说明的 ACL 项外,还可以对目录设置缺省 ACL 项。在具有缺省 ACL 项的目录中创建的文件或目录将具有与缺省 ACL 项相同的 ACL 项。表 6-8 列出了目录的缺省 ACL 项。
首次为特定用户和组设置目录的缺省 ACL 项时,还必须为文件所有者、文件组、其他用户和 ACL 掩码设置缺省 ACL 项。这些项是必需的。这些项是下表中前四个缺省 ACL 项。
表 6-8 UFS 目录的缺省 ACL 项
|
以下命令可管理 UFS 文件或目录的 ACL。
设置、添加、修改和删除 ACL 项。有关更多信息,请参见 setfacl(1) 手册页。
显示 ACL 项。有关更多信息,请参见 getfacl(1) 手册页。