AIXC 访问控制表

AIXC 访问控制列表类型代表5.3.0 之前的AIX®版本所支持的 ACL 类型的行为。 AIXC ACL 包括基本许可权和扩展许可权。

AIXC 访问控制表 (ACL) 类型表示在 5.3.0之前的 AIX 发行版上支持的 ACL 类型的行为。 AIXC ACL 包括基本许可权和扩展许可权。 JFS2 文件系统允许 AIXC ACL 的最大大小为 4 KB。

设置 AIXC ACL 的基本许可权

基本许可权是传统的分配到文件所有者、文件组和其他用户的文件访问方式。 访问方式是:读(r)、写(w)和执行/搜索(x)。

在 ACL 中,基本许可权为以下格式,带有表示为 rwx(将每个没有指定的许可权更换为连字符(-))的 Mode 参数:

base permissions: 
   owner(name): Mode
   group(group): Mode
   others: Mode

设置 AIXC ACL 的属性

以下属性可以添加到 AIXC ACL:
setuid (SUID)
设置用户标识方式位。 该属性在运行时将有效的、已保存过的进程的用户标识设置为文件的所有者标识。
setgid (SGID)
设置组标识方式位。 该属性在运行时将有效的、已保存过的进程的组标识设置为文件的组标识。
savetext (SVTX)
对于目录,它表示只有文件所有者可以链接或取消链接指定目录中的文件。
这些属性是按以下格式添加的:
attributes: SUID, SGID, SVTX 

设置 AIXC 访问 ACL 的扩展许可权

扩展许可权允许文件的所有者更精确地定义该文件的访问权。 扩展许可权通过允许、拒绝或指定特定个人、组或用户和组的组合的访问方式修改基本文件许可权(所有者、组、其他)。 通过使用关键字修改许可权。

permitdenyspecify 关键字定义如下:

permit
授权用户或组对文件的指定访问
拒绝
限制用户或组使用对文件的指定访问
specify
精确地定义用户或组的文件访问

如果通过 denyspecify 关键字来拒绝用户特定的访问权,没有任何其他的项可以覆盖该访问拒绝。

要使扩展许可权生效,enabled 关键字必须在 ACL 中指定。 缺省值为 disabled 关键字。

在 ACL 中,扩展许可权为以下格式:

extended permissions: 
  enabled | disabled
    permit   Mode  UserInfo...
    deny     Mode  UserInfo...
    specify  Mode  UserInfo...

每一个 permitdenyspecify 项占独立的一行。 Mode 参数表示成 rwx(每个没有指定的许可权用连字符(-)代替)。 UserInfo 参数表示成 u:UserNameg:GroupName,或逗号隔开的 u:UserNameg:GroupName

注: 由于进程只有一个用户标识,因此如果在一个条目中指定了多个用户名,那么不能在访问控制决策中使用该条目。

AIXC ACL 的文本说明

下节显示 AIXC ACL 的文本说明:

Attributes:  { SUID | SGID | SVTX }
Base Permissions:
   owner(name): Mode
   group(group): Mode
   others: Mode
Extended Permissions:
   enabled | disabled
     permit   Mode  UserInfo...
     deny     Mode  UserInfo...
     specify  Mode  UserInfo...

AIXC ACL 的二进制格式

AIXC ACL 二进制格式在 /usr/include/sys/acl.h 中定义,并在当前 AIX 发行版中实现。

AIXC ACL 示例

以下为 AIXC ACL 的一个示例:

attributes: SUID
base permissions:
      owner(frank):  rw-
      group(system): r-x
      others: ---
extended permissions:
      enabled
        permit  rw-  u:dhs
        deny    r--  u:chas, g:system
        specify r--  u:john, g:gateway, g:mail
        permit  rw-  g:account, g:finance

以下是对 ACL 条目的描述:

  • 第一行表示 setuid 位已打开。
  • 下一行(介绍基本许可权)是可选的。
  • 下面三行指定基本许可权。 圆括号中的所有者和组名仅出于提供信息的目的。 更改这些名称不改变文件所有者或文件组。 只有 chown 命令和 chgrp 命令才可以更改这些文件属性。
  • 下一行(介绍扩展许可权)是可选的。
  • 下一行表示启用接下来的扩展许可权。
  • 最后四行是扩展条目。 第一个扩展项授予用户 dhs 读(r)和写(w)文件的许可权。
  • 第二个扩展项只在 chas 用户为 system 组的成员时拒绝其读(r)访问权。
  • 第三个扩展项指定只要用户 john 既是 gateway 组的成员也是 mail 组的成员,那么他就拥有读(r)访问权。 如果用户 john 并非同时属于两个组,那么此扩展许可权不适用。
  • 最后一个扩展条目为同时account 组和 finance 组中的所有用户授予读(r)和写(w)许可权。
    注: 多个扩展条目可以应用于请求访问受控对象的进程,限制性条目优先于许可方式。