基于角色的访问控制 (RBAC) 在 Solaris 8 1/01 软件发行版中已更新。RBAC 数据库现在能通过"Solaris 管理控制台"图形界面中的"用户"工具来管理。术语的改变使术语执行配置文件已过时了。该术语已被权限配置文件取代,也称作 权限(在图形界面中)和配置文件(在命令行和文件中)。
除了授权和具有安全属性的命令外,权限配置文件现在还可以包括其它权限配置文件。如果同一命令不止一次出现在从属权限配置文件中,则在文件中的第一次出现优先。
policy.conf(4) 文件现在能识别关键字 PROFS_GRANTED,该关键字缺省情况下让您指定权限配置文件。
下图阐释了扩展用户属性是如何提供给用户的。
user_attr 数据库包含显示的属性,其中包括一个逗号分隔的配置文件名列表。配置文件的内容被分别放进 prof_attr 文件和 exec_attr 文件中。prof_attr 文件包含权限配置文件标识信息、给权限配置文件指定的授权和嵌套的权限配置文件。exec_attr 文件标识策略并包含命令及其关联的安全属性。auth_attr 文件向 "Solaris 管理控制台"工具提供授权信息。
虽然您可以通过 user_attr 直接给用户指定授权,但是不鼓励这样做。
policy.conf 文件提供将应用于所有用户的缺省属性。例如,如果"打印机管理"权限配置文件被指定给一个用户或角色,则该用户或角色的 user_attr 项包含关键字/值对:profiles=Printer Management. prof_attr 文件使用下行定义该配置文件(该文件也指定了帮助文件和授权):
Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin.html;auths=solaris.admin.printer, / solaris.admin.printer.modify,solaris.admion.printer.delete |
在 exec_attr 文件中,下行在"打印机管理"配置文件中给命令 /usr/sbin/accept 指定一个有效的用户 ID = lp:
Printer Management:suser:cmd:::/usr/sbin/accept:euid=lp |
下表列出了使用授权的命令。
表 5-1 RBAC 命令
命令 |
关联的授权 |
---|---|
at(1) |
solaris.jobs.user |
atq(1) |
solaris.jobs.admin |
crdw(1) |
solaris.device.cdrw |
crontab(1) |
solaris.jobs.user, solaris.jobs.admin |
allocate(1M) |
solaris.device.allocate, solaris.device.revoke |
deallocate(1M) |
solaris.device.allocate, solaris.device.revoke |
list_devices(1M) |
solaris.device.revoke |
smcron(1M) |
solaris.jobs.admin, solaris.jobs.user |
smdiskless |
solaris.admin.dcmgr.clients, solaris.admin.dcmgr.read |
smexec(1M) |
solaris.profmgr.read, solaris.profmgr.write |
smgroup(1M) |
solaris.admin.usermgr.read, solaris.admin.usermgr.write |
smmultiuser(1M), smuser(1M) |
solaris.admin.usermgr.pswd, solaris.admin.usermgr.read, solaris.admin.usermgr.write, solaris.profmgr.assign, solaris.profmgr.delegate, solaris.role.assign, solaris.role.delegate |
smmaillist(1M) |
solaris.admin.usermgr.read, solaris.admin.usermgr.write |
smosservice |
solaris.admin.dcmgr.admin, solaris.admin.dcmgr.read |
smprofile(1M) |
solaris.profmgr.read, solaris.profmgr.write |
smrole(1M) |
solaris.admin.usermgr.pswd, solaris.admin.usermgr.read, solaris.admin.usermgr.write, solaris.profmgr.assign, solaris.profmgr.delegate, solaris.role.assign, solaris.role.delegate |
有关 "Solaris 管理控制台" 的更多信息,请参阅"系统管理工具"。