权限配置文件的内容
第10 章• 基于角色的访问控制(参考) 213
表10–4打印机管理权限配置文件的内容
目的内容
管理打印机、守护进程和假脱机授权:solaris.admin.printer.delete、
solaris.admin.printer.modify、
solaris.admin.printer.read
命令: /usr/bin/cancel:euid=lp;uid=lp ,
/usr/bin/lpset:egid=14, /usr/bin/lpstat:euid=0 ,
/usr/lib/lp/local/lpadmin:uid=lp;gid=8,
/usr/lib/lp/lpsched:uid=0 ,
/usr/sbin/lpadmin:egid=14;uid=lp;gid=8,
/usr/sbin/lpfilter:euid=lp;uid=lp,
/usr/ucb/lprm:euid=0
帮助文件: RtPrntMngmnt.html
基本Solaris 用户权限配置文件
缺省情况下,会通过policy.conf 文件将基本Solaris 用户权限配置文件自动指定给所有用
户。此配置文件提供了正常操作中有用的基本授权。请注意,基本Solaris 用户权限配置文
件提供的便利必须与站点的安全要求平衡。需要更严格安全性的站点可能希望从
policy.conf 文件中删除此配置文件。
表10–5 基本Solaris 用户权限配置文件的内容
目的内容
自动将权限指定给所有用户授权:solaris.profmgr.read、solaris.jobs.users、
solaris.mail.mailq、solaris.admin.usermgr.read、
solaris.admin.logsvc.read、solaris.admin.fsmgr.read、
solaris.admin.serialmgr.read、solaris.admin.diskmgr.read、
solaris.admin.procmgr.user、solaris.compsys.read、
solaris.admin.printer.read、solaris.admin.prodreg.read、
solaris.admin.dcmgr.read、solaris.snmp.read、
solaris.project.read、solaris.admin.patchmg.read、
solaris.network.hosts.read、solaris.compsys.read、
solaris.admin.volmgr.read
补充权限配置文件:所有
帮助文件: RtDefault.html
所有权限配置文件
所有权限配置文件使用通配符包括所有命令。此配置文件提供了可访问未在其他权限配置
文件中显式指定的所有命令的角色。如果没有所有权限配置文件或使用通配符的其他权限
配置文件,则角色只能访问显式指定的命令。如此有限的命令集不是很实用。
权限配置文件的内容
214 系统管理指南:安全性服务• 2006 年9 月
所有权限配置文件(如果使用)应该是指定的最终权限配置文件。此最后一个位置可确保
不会意外覆盖其他权限配置文件中的显式安全属性指定。
表10–6所有权限配置文件的内容
目的内容
以用户或角色的身份执行任何命令命令: *
帮助文件: RtAll.html
权限配置文件的顺序
权限配置文件中的命令按顺序进行解释。第一次出现的命令版本是用于此角色或用户的命
令的唯一版本。不同的权限配置文件可以包括相同命令。因此,配置文件列表中权限配置
文件的顺序至关重要。应该首先列出具有最多功能的权限配置文件。
权限配置文件在Solaris Management Console GUI 和prof_attr 文件中列出。在Solaris
Management Console GUI 中,具有最多功能的权限配置文件应该是指定权限配置文件列表
中最顶部的配置文件。在prof_attr 文件中,具有最多功能的权限配置文件应该是补充配置
文件列表中的第一个配置文件。此放置方法可确保带有安全属性的命令列在不带安全属性
的相同命令之前。
查看权限配置文件的内容
Solaris Management Console 权限工具提供了一种检查权限配置文件内容的方法。
prof_attr 和exec_attr 文件提供了划分更细的视图。prof_attr 文件包含在系统上定义的每
个权限配置文件的名称。此文件还包括每个配置文件的授权和补充权限配置文件。
exec_attr 文件包含权限配置文件的名称及其带有安全属性的命令。
授权命名和委托
RBAC 授权是可以授予角色或用户的独立权限。在用户获取对应用程序或应用程序内特定操
作的访问权限之前,将通过RBAC 兼容应用程序检查授权。此检查替换了常规UNIX 应用程
序中对UID=0 的测试。
授权命名约定
授权具有在内部以及文件中使用的名称。例如,solaris.admin.usermgr.pswd 是一个授权的
名称。授权具有简短说明,此说明出现在图形用户界面(graphical user interface, GUI) 中。例
如,Change Passwords 是solaris.admin.usermgr.pswd 授权的说明。
授权命名和委托
第10 章• 基于角色的访问控制(参考) 215
根据约定,授权名称由顺序颠倒过来的供应商Internet 名称、主题区域(任何子区域)和功
能组成。授权名称的各个部分以点分隔。com.xyzcorp.device.access 便是一个示例。此约
定的例外是Sun Microsystems, Inc. 的授权,它使用前缀solaris 代替Internet 名称。使用命
名约定,管理员可以用分层方式应用授权。通配符(*) 可以表示点右侧的所有字符串。
授权粒度示例
可将以下情况视为如何使用授权的示例:操作员角色中的用户可能限于
solaris.admin.usermgr.read 授权,此授权只提供可对用户配置文件的读取访问,不提供写
入访问。系统管理员角色自然地具有solaris.admin.usermgr.read 和
solaris.admin.usermgr.write 授权,以对用户文件进行更改。但是,如果没有
solaris.admin.usermgr.pswd 授权,系统管理员就不能更改口令。主管理员具有所有这三个
授权。
需要solaris.admin.usermgr.pswd 授权才能在Solaris Management Console 用户工具中更改
口令。使用smuser、smmultiuser 和smrole 命令中的口令修改选项时也需要此授权。
授权中的授权委托
使用以后缀grant 结束的授权,用户或角色可将以相同前缀开头的任何指定授权委托给其他
用户。
例如,具有授权solaris.admin.usermgr.grant 和solaris.admin.usermgr.read 的角色可将
solaris.admin.usermgr.read 授权委托给其他用户。具有solaris.admin.usermgr.grant 和
solaris.admin.usermgr.* 授权的角色可将具有solaris.admin.usermgr 前缀的任何授权委托
给其他用户。
支持RBAC 的数据库
以下四个数据库存储RBAC 元素的数据:
扩展用户属性数据库(user_attr)-将用户与具有授权和权限的角色相关联
权限配置文件属性数据库(prof_attr)-定义权限配置文件,列出配置文件的指定授
权,并标识关联的帮助文件
授权属性数据库(auth_attr)-定义授权及其属性,并标识关联的帮助文件
执行属性数据库(exec_attr)-标识指定给特定权限配置文件的带有安全属性的命令
policy.conf 数据库包含应用于所有用户的授权、权限和权限配置文件。有关更多信息,请
参见第222 页中的“policy.conf 文件”。
支持RBAC 的数据库
216 系统管理指南:安全性服务• 2006 年9 月
RBAC 数据库关系
每个RBAC 数据库都使用key=value 语法存储属性。此方法可以适应将来的数据库扩展。此
外,使用此方法,系统可以在遇到其策略未知的关键字时继续运行。key=value 内容将文件
链接起来。四个数据库中的以下链接项说明了RBAC 数据库协同工作的方式。
示例10–1 显示RBAC数据库连接
在以下示例中,通过为用户jdoe 指定角色filemgr,使此用户获取文件系统管理配置文件
的功能。
1. 在user_attr 数据库的jdoe 用户项中为用户jdoe 指定角色filemgr。
# user_attr - user definition
jdoe::::type=normal;roles=filemgr
2. 在user_attr 数据库的角色项中为角色filemgr 指定权限配置文件文件系统管理。
# user_attr - role definition
filemgr::::profiles=File System Management;type=role
用户和角色在本地系统上的passwd 和shadow 文件中(或者在分布式名称服务的等效数
据库中)唯一定义。
3. 文件系统管理权限配置文件在prof_attr 数据库中定义。此数据库还为文件系统管理项
指定了三组授权。
# prof_attr - rights profile definitions and assigned authorizations
File System Management:::Manage, mount, share file systems:
help=RtFileSysMngmnt.html;
auths=solaris.admin.fsmgr.*,solaris.admin.diskmgr.*,solaris.admin.volmgr.*
4. 这些授权在auth_attr 数据库中定义。
# auth_attr - authorization definitions
solaris.admin.fsmgr.:::Mounts and Shares::help=AuthFsmgrHeader.html
solaris.admin.fsmgr.read:::View Mounts and Shares::help=AuthFsmgrRead.html
solaris.admin.fsmgr.write:::Mount and Share Files::help=AuthFsmgrWrite.html
5. 在exec_attr 数据库中为文件系统管理权限配置文件指定带有安全属性的命令。
# exec_attr - rights profile names with secured commands
支持RBAC 的数据库
第10 章• 基于角色的访问控制(参考) 217
示例10–1 显示RBAC数据库连接(续)
File System Management:suser:cmd:::/usr/sbin/mount:uid=0
File System Management:suser:cmd:::/usr/sbin/dfshares:euid=0
...
File System Management:solaris:cmd:::/usr/sbin/mount:privs=sys_mount
...
RBAC 数据库和名称服务
RBAC 数据库的名称服务范围只能应用于本地主机。此范围还可以包括由NIS、NIS+ 或
LDAP 之类的名称服务提供服务的所有主机。在/etc/nsswitch.conf 文件中为每个数据库设
置具有优先级的名称服务。
auth_attr 项-设置auth_attr 数据库的名称服务优先级。
passwd 项-设置user_attr 数据库的名称服务优先级。
prof_attr 项-设置prof_attr 数据库的名称服务优先级。此外,还设置exec_attr 数据
库的名称服务优先级。
例如,如果将带有安全属性的命令指定给存在于两个名称服务范围中的权限配置文件,
则只会使用第一个名称服务范围中的项。
user_attr 数据库
user_attr 数据库包含补充passwd 和shadow 数据库的用户和角色信息。user_attr 数据库包
含授权、权限配置文件和指定角色之类的扩展用户属性。user_attr 数据库中的字段以冒
号分隔,如下所示:
user:qualifier:res1:res2:attr
这些字段具有以下含义:
user
passwd 数据库中指定的用户或角色的名称。
qualifier:res1:res2
保留这些字段供将来使用。
attr
以分号(;) 分隔的关键字-值对的可选列表,用于说明将在用户运行命令时应用的安全属
性。四个有效关键字为type、auths、profiles 和roles。
如果此帐户属于普通用户,则可以将type 关键字设置为normal。如果此帐户属于角
色,则type 是role。
支持RBAC 的数据库
218 系统管理指南:安全性服务• 2006 年9 月
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
auth_attr 数据库
所有授权都存储在auth_attr 数据库中。可以将授权指定给用户、角色或权限配置文件。首
选方法是将授权放置在权限配置文件中,将配置文件包括在角色的配置文件列表中,然后
将角色指定给用户。
auth_attr 数据库中的字段以冒号分隔,如下所示:
authname:res1:res2:short_desc:long_desc:attr
这些字段具有以下含义:
authname 用于以prefix.[suffix] 格式标识授权的唯一字符串。Solaris OS 的授权使用
solaris 作为前缀。所有其他授权应使用与创建授权的组织的Internet 域名
顺序相反的名称开头的前缀(例如,com.xyzcompany)。后缀指示要授权的
内容,通常是功能区域和操作。
当authname 由前缀和功能区域组成并以句点结束时,authname 将用作应用
程序GUI 中使用的标题。由两部分组成的authname 不是实际授权。
authname 的值solaris.printmgr. 便是一个标题示例。
当authname 以单字"grant" 结束时,authname 将用作授予授权。使用授予授
权,用户可以将具有相同前缀和功能区域的授权委托给其他用户。authname
的值solaris.printmgr.grant 便是一个授予授权示例。
solaris.printmgr.grant 授予用户将solaris.printmgr.admin 和
solaris.printmgr.nobanner 之类的授权委托给其他用户的权限。
res1:res2 保留以供将来使用。
支持RBAC 的数据库
第10 章• 基于角色的访问控制(参考) 219
short_desc 授权的短名称。此短名称适于在用户界面中(如GUI 中的滚动列表中)显
示。
long_desc 详细说明。此字段标识授权的目的、使用授权的应用程序以及可能使用授权
的用户类型。可以在应用程序的帮助文本中显示详细说明。
attr 以分号(;) 分隔的关键字-值对的可选列表,用于说明授权属性。可以指定零
个或多个关键字。
关键字help 标识HTML形式的帮助文件。可以通过
/usr/lib/help/auths/locale/C 目录中的index.html 文件访问帮助文件。
以下示例显示了带有一些典型值的auth_attr 数据库:
% grep printer /etc/security/auth_attr
solaris.admin.printer.:::Printer Information::help=AuthPrinterHeader.html
solaris.admin.printer.delete:::Delete Printer Information::help=AuthPrinterDelete.html
solaris.admin.printer.modify:::Update Printer Information::help=AuthPrinterModify.html
solaris.admin.printer.read:::View Printer Information::help=AuthPrinterRead.html
请注意,solaris.admin.printer. 被定义为标题,这是因为授权名称以点(.) 结束。GUI 使
用标题组织授权系列。
prof_attr 数据库
prof_attr 数据库存储名称、说明、帮助文件的位置以及指定给权限配置文件的授权。指定
给权限配置文件的命令和安全属性存储在exec_attr 数据库中。有关更多信息,请参见第221
页中的“exec_attr 数据库”。prof_attr 数据库中的字段以冒号分隔,如下所示:
profname:res1:res2:desc:attr
这些字段具有以下含义:
profname 权限配置文件的名称。权限配置文件名称区分大小写。user_attr 数据库也使
用此名称指示指定给角色和用户的配置文件。
res1:res2 保留以供将来使用。
desc 详细说明。此字段应介绍权限配置文件的目的,包括有兴趣使用此配置文件
的用户类型。详细说明适于在应用程序的帮助文本中显示。
attr 以分号(;) 分隔的关键字-值对的可选列表,用于说明在执行时应用于对象的
安全属性。可以指定零个或多个关键字。两个有效关键字为help 和auths。
支持RBAC 的数据库
220 系统管理指南:安全性服务• 2006 年9 月
关键字help 标识HTML形式的帮助文件。可以通过
/usr/lib/help/auths/locale/C 目录中的index.html 文件访问帮助文件。
关键字auths 指定从auth_attr 数据库中定义的那些名称中选择的以逗号分隔
的授权名称列表。可以使用星号(*) 字符作为通配符来指定授权名称。
以下示例显示了两个典型的prof_attr 数据库项。请注意,打印机管理权限配置文件是操作
员权限配置文件的补充权限配置文件。根据显示的需要,另起一行来显示此示例。
% grep ’Printer Management’ /etc/security/prof_attr
Printer Management::: 权限配置文件的名称
Manage printers, daemons, spooling: 说明
help=RtPrntAdmin.html; 帮助文件
auths=solaris.admin.printer.read, 授权
solaris.admin.printer.modify,solaris.admin.printer.delete
...
Operator::: 权限配置文件的名称
Can perform simple administrative tasks: 说明
profiles=Printer Management, 补充权限配置文件
Media Backup,All;
help=RtOperator.html 帮助文件
exec_attr 数据库
exec_attr 数据库定义需要安全属性才能成功运行的命令。这些命令是权限配置文件的一部
分。具有安全属性的命令可以由为其指定了此配置文件的角色运行。
exec_attr 数据库中的字段以冒号分隔,如下所示:
name:policy:type:res1:res2:id:attr
这些字段具有以下含义:
profname 权限配置文件的名称。权限配置文件名称区分大小写。该名称指的是
prof_attr 数据库中的配置文件。
支持RBAC 的数据库
第10 章• 基于角色的访问控制(参考) 221
policy 与此项相关联的安全策略。目前,suser 和solaris 是有效项。solaris 策略
可识别权限,而suser 策略则不能。
type 指定的实体类型。目前,唯一有效的实体类型是cmd(命令)。
res1:res2 保留以供将来使用。
id 标识实体的字符串。命令应该具有全路径或带有通配符(*) 的路径。要指定参
数,请编写具有这些参数的脚本并使id 指向此脚本。
attr 以分号(;) 分隔的关键字-值对的可选列表,用于说明将在执行时应用于实体
的安全属性。可以指定零个或多个关键字。有效关键字的列表取决于强制执
行的策略。
对于suser 策略,四个有效关键字为euid、uid、egid 和gid。
euid 和uid 关键字包含单个用户名或数字用户ID (user ID, UID)。通过
euid 指定的命令使用提供的UID 运行,这与在可执行文件上设置setuid
位类似。通过uid 指定的命令使用实际UID 和有效UID 运行。
egid 和gid 关键字包含单个组名或数字组ID (group ID, GID)。通过egid
指定的命令使用提供的GID 运行,这与在可执行文件上设置setgid 位类
似。通过gid 指定的命令使用实际GID 和有效GID 运行。
对于solaris 策略,有效关键字为privs。值由以逗号分隔的权限列表组成。
以下示例显示了exec_attr 数据库中的一些典型值:
% grep ’File System Management’ /etc/security/exec_attr
File System Management:suser:cmd:::/usr/sbin/ff:euid=0
File System Management:solaris:cmd:::/usr/sbin/mount:privs=sys_mount
...
policy.conf 文件
policy.conf 文件提供了向所有用户授予特定权限配置文件、特定授权和特定权限的方法。
文件中的相关项由key=value 对组成:
AUTHS_GRANTED=authorizations-指一个或多个授权。
PROFS_GRANTED=rights profiles-指一个或多个权限配置文件。
PRIV_DEFAULT=privileges-指一个或多个权限。
PRIV_LIMIT=privileges-指所有权限。
以下示例显示了policy.conf 数据库中的一些典型值:
支持RBAC 的数据库
222 系统管理指南:安全性服务• 2006 年9 月
# grep AUTHS /etc/security/policy
AUTHS_GRANTED=solaris.device.cdrw
# grep PROFS /etc/security/policy
PROFS_GRANTED=Basic Solaris User
# grep PRIV /etc/security/policy
#PRIV_DEFAULT=basic
#PRIV_LIMIT=all
有关权限的更多信息,请参见第177 页中的“权限(概述)”。
RBAC 命令
本节列出了用于管理RBAC 的命令,还提供了一个命令表,其中命令的访问可以由授权控
制。
管理RBAC 的命令
虽然可以手动编辑本地RBAC 数据库,但是强烈建议不要进行此类编辑。以下命令可用于
管理对具有RBAC 的任务进行访问。
表10–7RBAC管理命令
命令的手册页说明
auths(1) 显示用户的授权。
makedbm(1M) 生成dbm 文件。
nscd(1M) 名称服务高速缓存守护进程,适用于高速缓存user_attr、prof_attr 和
exec_attr 数据库。使用svcadm 命令重新启动守护进程。
pam_roles(5) PAM的角色帐户管理模块。检查承担角色的授权。
RBAC 命令
第10 章• 基于角色的访问控制(参考) 223
表10–7RBAC管理命令(续)
命令的手册页说明
pfexec(1) 由配置文件shell 使用以执行在exec_attr 数据库中指定的带有安全属性的命
令。
policy.conf(4) 系统安全策略的配置文件。列出授予的授权、授予的权限和其他安全信息。
profiles(1) 显示指定用户的权限配置文件。
roles(1) 显示指定用户可以承担的角色。
roleadd(1M) 向本地系统中添加角色。
roledel(1M) 从本地系统中删除角色。
rolemod(1M) 在本地系统上修改角色的属性。
smattrpop(1M) 将源安全属性数据库合并到目标数据库。用于需要将本地数据库合并到名称
服务的情况。还用于未提供转换脚本的升级。
smexec(1M) 管理exec_attr 数据库中的项。要求验证。
smmultiuser(1M) 管理对用户帐户的批量操作。要求验证。
smprofile(1M) 管理prof_attr 和exec_attr 数据库中的权限配置文件。要求验证。
smrole(1M) 管理角色帐户中的角色和用户。要求验证。
smuser(1M) 管理用户项。要求验证。
useradd(1M) 向系统中添加用户帐户。-P 选项将角色指定给用户帐户。
userdel(1M) 从系统中删除用户的登录。
usermod(1M) 修改系统上的用户帐户属性。
要求授权的命令
下表提供了在Solaris 系统上如何使用授权限制命令选项的示例。有关授权的更多介绍,请
参见第215 页中的“授权命名和委托”。
表10–8命令和关联的授权
命令的手册页授权要求
at(1) 所有选项所需的solaris.jobs.user(at.allow 和at.deny 文件都不存在
时)
atq(1) 所有选项所需的solaris.jobs.admin
cdrw(1) 所有选项所需的solaris.device.cdrw,缺省情况下在policy.conf 文件中授
予
RBAC 命令
224 系统管理指南:安全性服务• 2006 年9 月
表10–8 命令和关联的授权(续)
命令的手册页授权要求
crontab(1) 选项提交作业所需的solaris.jobs.user(crontab.allow 和crontab.deny 文
件都不存在时)
选项列出或修改其他用户的crontab 文件所需的solaris.jobs.admin
allocate(1) 分配设备所需的solaris.device.allocate(或在device_allocate 文件中指
定的其他授权)
将设备分配给其他用户(-F 选项)所需的solaris.device.revoke(或在
device_allocate 文件中指定的其他授权)
deallocate(1) 解除其他用户的设备分配所需的solaris.device.allocate(或在
device_allocate 文件中指定的其他授权)
强制解除指定设备(-F 选项)或所有设备的分配(-I 选项)所需的
solaris.device.revoke(或在device_allocate 中指定的其他授权)
list_devices(1) 列出其他用户的设备(-U 选项)所需的solaris.device.revoke
sendmail(1M) 访问邮件子系统功能所需的solaris.mail;查看邮件队列所需的
solaris.mail.mailq
RBAC 命令
第10 章• 基于角色的访问控制(参考) 225
226
权限(任务)
本章提供了在系统上管理和使用权限的逐步说明。以下是本章中信息的列表:
第227 页中的“管理和使用权限(任务列表)”
第227 页中的“管理权限(任务列表)”
第236 页中的“确定权限(任务列表)”
有关权限的概述,请参见第177 页中的“权限(概述)”。有关参考信息,请参见
第12 章。
管理和使用权限(任务列表)
以下任务列表介绍了管理权限和使用权限的任务列表。
任务说明参考
在站点使用权限涉及指定、删除、添加和调试权限的使用。第227 页中的“管理权限(任务列
表)”
运行命令时使用权限涉及使用已指定给您的权限。第236 页中的“确定权限(任务列
表)”
管理权限(任务列表)
以下任务列表介绍了查看权限、指定权限以及运行包含特权命令的脚本的过程。
11 第1 1 章
227
任务说明参考
确定进程中的权限列出进程的有效权限集、可继承权限集、允许权
限集和限制权限集。
第228 页中的“如何确定进程的权
限”
确定进程缺少的权限列出失败进程成功运行所需的权限。第230 页中的“如何确定程序所需
的权限”
为命令添加权限为权限配置文件的命令添加权限。可以将权限配
置文件指定给用户或角色。然后,用户可以在配
置文件shell 中运行具有指定权限的命令。
第232 页中的“如何为命令添加权
限”
为用户指定权限扩展用户或角色的可继承权限集。使用此过程时
应谨慎。
第233 页中的“如何将权限指定给
用户或角色”
限制用户的权限限制用户的基本权限集。使用此过程时应谨慎。第234 页中的“如何限制用户或角
色的权限”
运行特权shell 脚本为shell 脚本和shell 脚本中的命令添加权限。然
后,在配置文件shell 中运行此脚本。
第235 页中的“如何运行具有特权
命令的Shell 脚本”
管理权限
管理用户和角色权限的最安全的方法是将权限使用限制在权限配置文件内的命令中。然
后,此权限配置文件就包括在某个角色中。此角色会指定给某个用户。当此用户承担指定
的角色时,特权命令便可在配置文件shell 中运行。以下过程显示了如何指定权限、删除权
限以及调试权限的使用。
如何确定进程的权限
此过程说明如何确定可用于进程的权限。列出内容不包括已经指定给特定命令的权限。
列出可用于shell 进程的权限。
% ppriv pid
$ ppriv -v pid
pid 进程号。使用双美元符号($$) 将父shell 的进程号传递到命令。
-v 提供权限名称的详细列表。
确定当前shell 中的权限
在以下示例中,列出了用户shell 进程的父进程中的权限。在下面第二个示例中,列出了权
限的全名。输出中的单个字母指代以下权限集:
E
有效权限集。
◗
示例11–1
管理权限
228 系统管理指南:安全性服务• 2006 年9 月
I
可继承权限集。
P
允许权限集。
L
限制权限集。
% ppriv $$
1200: -csh
flags =
E: basic
I: basic
P: basic
L: all
% ppriv -v $$
1200: -csh
flags =
E: file_link_any,proc_exec,proc_fork,proc_info,proc_session
I: file_link_any,proc_exec,proc_fork,proc_info,proc_session
P: file_link_any,proc_exec,proc_fork,proc_info,proc_session
L: cpc_cpu,dtrace_kernel,dtrace_proc,dtrace_user,...,sys_time
确定可承担的角色的权限
角色使用管理shell 或配置文件shell。必须承担角色并使用此角色的shell 列出已直接指定给
此角色的权限。在以下示例中,角色sysadmin 不具有直接指定的权限。
% su sysadmin
Password: <键入sysadmin 的口令>
$ /usr/ucb/whoami
阅读(543) | 评论(0) | 转发(0) |