跳过导航链接 | |
退出打印视图 | |
从 Oracle Solaris 10 转换到 Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (简体中文) |
以下信息说明了角色、权限、特权和授权在 Oracle Solaris 11 中的工作方式:
指定授权与委托授权-Oracle Solaris 提供授权,用于将特定管理权限委托给单个用户和角色,以实现职责分离。在 Oracle Solaris 10 中,需要以 .grant 结尾的授权来将授权委托给另一个用户。在 Oracle Solaris 11 中,使用了两个新后缀(.assign 和 .delegate)。例如,solaris.profile.assign 和 solaris.profile.delegate。前者授予将任何权限配置文件委托给任何用户或角色的权限。后者受到更严格的限制,因为仅可以委托已经指定给当前用户的权限配置文件。由于 root 角色指定为 solaris.*,因此该角色可以将任何授权指定给任何用户或角色。作为安全措施,缺省情况下任何配置文件中都不包括以 .assign 结尾的授权。
groupadd 命令更改-在创建组时,系统现在会将 solaris.group.assign/groupname 授权分配给管理员。此授权使管理员可以完全控制该组,并且可以根据需要修改或删除 groupname。有关更多信息,请参见 groupadd(1M) 和 groupmod(1M) 手册页。
Media Restore(介质恢复)权限配置文件-此权限配置文件和授权集可以升级非 root 帐户的特权。配置文件存在,但是不属于任何其他权限配置文件的一部分。因为 Media Restore 权限配置文件提供对整个根文件系统的访问,因此使用它时可能会升级特权。可以恢复故意更改的文件或替代介质。缺省情况下,root 角色包括此权限配置文件。
删除的主管理员配置文件-为安装时创建的初始用户提供了以下角色和权限:
root 角色
System Administrator 权限配置文件
对作为 root 运行的所有命令的 sudo 命令的访问
角色验证-可以为 roleauth 关键字指定 user 或 role。请参见 user_attr(4)。
root 作为角色-root 现在在缺省情况下为角色,因此并非匿名,并且无法远程登录到系统中。有关将 root 角色更改为用户的信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何将 root 角色更改为用户"。
Oracle Solaris 基本特权包括:
file_read
file_write
net_access
常规 shell 的配置文件 shell 版本-每个常规 shell 现在都具有其自己的配置文件版本。以下配置文件 shell 可用:
pfbash
pfcsh
pfksh
pfksh93
pfrksh93
pfsh
pftcsh
pfzsh
请参见 pfexec(1)。
权限配置文件-user_attr、prof_attr 和 exec_attr 数据库现在为只读数据库。这些本地文件数据库是从位于 /etc/user_attr.d、/etc/security/prof_attr.d 和 /etc/security/exec_attr.d 的分段进行汇编的。分段文件不会合并到单个版本的文件中,而是仍为分段。此更改可使软件包传送完整或部分的 RBAC 配置文件。使用 useradd 和 profiles 命令添加到本地文件系统信息库中的项被添加到分段目录中的 local-entries 文件中。要添加或修改配置文件,请使用 profiles 命令。请参见有关权限配置文件。
停止权限配置文件-此配置文件可使管理员创建受限的帐户。请参见《Oracle Solaris 11.1 管理:安全服务》中的"RBAC 权限配置文件"。
pfsh script 命令-此命令现在运行与 pfsh -c script 命令相同的命令。先前,脚本内的命令不能使用 RBAC,除非该脚本将配置文件 shell 指定为其第一行。此规则需要修改所有脚本来使用 RBAC,现在则不必修改,因为脚本的调用者(或者会话中的祖先)可以指定配置文件 shell。
pfexec 命令-此命令现在不再为 setuid 根。当执行 pfexec 命令或配置文件 shell 时,会设置新 PF_PFEXEC 进程属性。然后,内核对 exec 设置适当的特权。此实现确保根据情况授权或限制子 shell。
当内核处理 exec(2) 时,会不同地将 setuid 处理为 root。请注意至任何其他 uid 或 setgid 的 setuid 和先前的一样。现在内核在 exec_attr(4) 中的 Forced Privilege RBAC 配置文件中搜索项,以确定程序应该用于运行的特权。程序不会以 uid root 和所有特权启动,而是以当前 uid 以及仅 Forced Privilege RBAC 执行配置文件已指定给该路径名称的附加特权来运行。
权限配置文件是以下对象的集合:授权和其他安全属性、具有安全属性的命令以及补充权限配置文件。Oracle Solaris 提供了多种权限配置文件。您可以修改现有权限配置文件,也可以创建新的权限配置文件。请注意,权限配置文件必须按权限从高到低的顺序指定。
下面是一些可用的权限配置文件:
System Administrator(系统管理员)-指可执行与安全性无关的大部分任务的配置文件。此配置文件包括一些可用于创建功能强大的角色的其他配置文件。使用 profiles 命令可显示关于此配置文件的信息。请参见示例 9-1。
Operator(操作员)-指具有管理文件和脱机介质的有限功能的配置文件。
Printer Management(打印机管理)-指提供数量有限的打印处理命令和授权的配置文件。
Basic Solaris User(基本 Solaris 用户)-指允许用户在安全策略范围内使用系统的配置文件。缺省情况下,会在 policy.conf 文件中列出此配置文件。
Console User(控制台用户)-指工作站所有者的配置文件。此配置文件为操作计算机的人员提供对授权、命令和操作的访问权限。
此发行版中可用的其他权限配置文件包括 All(所有)权限配置文件和 Stop(停止)权限配置文件。有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的第 10 章 "Oracle Solaris 中的安全属性(参考信息)"。
示例 9-1 显示关于 System Administrator(系统管理员)权限配置文件的信息
使用 profiles 命令可显示关于特定权限配置文件的信息。在以下示例中,将显示关于 System Administrator(系统管理员)权限配置文件的信息:
$ profiles -p "System Administrator" info name=System Administrator desc=Can perform most non-security administrative tasks profiles=Install Service Management,Audit Review,Extended Accounting Flow Management,Extended Accounting Net Management,Extended Accounting Process Management, Extended Accounting Task Management,Printer Management,Cron Management,Device Management, File System Management,Log Management,Mail Management,Maintenance and Repair, Media Backup,Media Catalog,Media Restore,Name Service Management,Network Management Object Access Management,Process Management,Project Management,RAD Management, Service Operator,Shadow Migration Monitor,Software Installation,System Configuration,User Management,ZFS Storage Management help=RtSysAdmin.html
当将特权直接指定给用户时,实际上,特权位于每个 shell 中。未直接将特权指定给用户时,用户必须打开一个配置文件 shell。例如,当具有指定特权的命令位于用户权限配置文件列表内的权限配置文件中时,用户必须在配置文件 shell 中执行此命令。
要在联机时查看特权,请参见 privileges(5)。显示的特权格式由开发者使用。
$ man privileges Standards, Environments, and Macros privileges(5) NAME privileges - process privilege model ... The defined privileges are: PRIV_CONTRACT_EVENT Allow a process to request reliable delivery of events to an event endpoint. Allow a process to include events in the critical event set term of a template which could be generated in volume by the user. ...
示例 9-2 查看直接指定的特权
如果已经为您直接指定了特权,则基本特权集包含的特权会多于缺省的基本特权集。在以下示例中,用户能始终访问 proc_clock_highres 特权。
$ /usr/bin/whoami jdoe $ ppriv -v $$ 1800: pfksh flags = <none> E: file_link_any,…,proc_clock_highres,proc_session I: file_link_any,…,proc_clock_highres,proc_session P: file_link_any,…,proc_clock_highres,proc_session L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,…,sys_time $ ppriv -vl proc_clock_highres Allows a process to use high resolution timers.
要查看授权,请使用 auths 命令:
$ auths list
此命令的输出将生成指定给用户的授权的摘要,此摘要比以前更加易读(每行一个)。从 Oracle Solaris 11.1 开始,auths 命令添加了几个新选项。例如,check 选项对于脚本处理非常有用。其他新选项提供了在 files 或 LDAP 中添加、修改和删除授权的功能。请参见 auths(1)。