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

授权命名和委托

RBAC 授权是可以授予角色或用户的独立权限。在用户获取对应用程序或应用程序内特定操作的访问权限之前,将通过 RBAC 兼容应用程序检查授权。此检查替换了常规 UNIX 应用程序中对 UID=0 的测试。

授权命名约定

授权具有在内部以及文件中使用的名称。例如,solaris.admin.usermgr.pswd 是一个授权的名称。授权具有简短说明,此说明出现在图形用户界面 (graphical user interface, GUI) 中。例如,Change Passwordssolaris.admin.usermgr.pswd 授权的说明。

根据约定,授权名称由顺序颠倒过来的供应商 Internet 名称、主题区域(任何子区域)和功能组成。授权名称的各个部分以点分隔。com.xyzcorp.device.access 便是一个示例。此约定的例外是 Sun Microsystems, Inc. 的授权,它使用前缀 solaris 代替 Internet 名称。使用命名约定,管理员可以用分层方式应用授权。通配符 (*) 可以表示点右侧的所有字符串。

授权粒度示例

可将以下情况视为如何使用授权的示例:操作员角色中的用户可能限于 solaris.admin.usermgr.read 授权,此授权只提供可对用户配置文件的读取访问,不提供写入访问。系统管理员角色自然地具有 solaris.admin.usermgr.readsolaris.admin.usermgr.write 授权,以对用户文件进行更改。但是,如果没有 solaris.admin.usermgr.pswd 授权,系统管理员就不能更改口令。主管理员具有所有这三个授权。

需要 solaris.admin.usermgr.pswd 授权才能在 Solaris Management Console 用户工具中更改口令。使用 smusersmmultiusersmrole 命令中的口令修改选项时也需要此授权。

授权中的授权委托

使用以后缀 grant 结束的授权,用户或角色可将以相同前缀开头的任何指定授权委托给其他用户。

例如,具有授权 solaris.admin.usermgr.grantsolaris.admin.usermgr.read 的角色可将 solaris.admin.usermgr.read 授权委托给其他用户。具有 solaris.admin.usermgr.grantsolaris.admin.usermgr.* 授权的角色可将具有 solaris.admin.usermgr 前缀的任何授权委托给其他用户。