Solaris 9 操作环境的新增功能

基于角色的访问控制

基于角色的访问控制 (RBAC) 在 Solaris 8 1/01 软件发行版中已更新。RBAC 数据库现在能通过"Solaris 管理控制台"图形界面中的"用户"工具来管理。术语的改变使术语执行配置文件已过时了。该术语已被权限配置文件取代,也称作 权限(在图形界面中)和配置文件(在命令行和文件中)。

除了授权和具有安全属性的命令外,权限配置文件现在还可以包括其它权限配置文件。如果同一命令不止一次出现在从属权限配置文件中,则在文件中的第一次出现优先。

policy.conf(4) 文件现在能识别关键字 PROFS_GRANTED,该关键字缺省情况下让您指定权限配置文件。

下图阐释了扩展用户属性是如何提供给用户的。

图形 5-1 扩展属性数据库

Graphic

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 管理控制台" 的更多信息,请参阅"系统管理工具"