系统管理指南:安全性服务

user_attr 数据库

user_attr 数据库包含补充 passwdshadow 数据库的用户和角色信息。user_attr 数据库包含授权、权限配置文件和指定角色之类的扩展用户属性。 user_attr 数据库中的字段以冒号分隔,如下所示:


user:qualifier:res1:res2:attr

这些字段具有以下含义:

user

passwd 数据库中指定的用户或角色的名称。

qualifier:res1:res2

保留这些字段供将来使用。

attr

以分号 (;) 分隔的关键字-值对的可选列表,用于说明将在用户运行命令时应用的安全属性。四个有效关键字为 typeauthsprofilesroles

  • 如果此帐户属于普通用户,则可以将 type 关键字设置为 normal。如果此帐户属于角色,则 typerole

  • auths 关键字指定从 auth_attr 数据库中定义的名称中选择的以逗号分隔的授权名称列表。授权名称可以包括星号 (*) 字符作为通配符。例如,solaris.device.* 表示所有的 Solaris 设备授权。

  • profiles 关键字指定 prof_attr 数据库中排序的逗号分隔权限配置文件名称列表。权限配置文件的排序方式与 UNIX 搜索路径的排序方式类似。列表中包含要执行的命令的第一个配置文件定义将应用于命令的安全属性(如果存在)。

  • 可以通过以逗号分隔的角色名称列表将 roles 关键字指定给用户。请注意,角色在同一 user_attr 数据库中定义。通过将类型值设置为 role 来表示角色。不能将角色指定给其他角色。

以下示例演示了如何在典型的 user_attr 数据库中定义操作员角色。此示例显示了如何将角色指定给用户 jdoe。通过 type 关键字区分角色和用户。


% grep operator /etc/user_attr 

jdoe::::type=normal;roles=operator

operator::::profiles=Operator;type=role