JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:安全性服务     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  控制对设备的访问(任务)

5.  使用基本审计报告工具(任务)

6.  控制对文件的访问(任务)

7.  使用自动安全性增强工具(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

使用 RBAC(任务列表)

配置 RBAC(任务列表)

配置 RBAC

如何规划 RBAC 实现

如何使用 GUI 创建和指定角色

如何通过命令行创建角色

如何将角色指定给本地用户

如何审计角色

如何使 root 用户成为角色

使用角色(任务列表)

使用角色

如何在终端窗口中承担角色

如何在 Solaris Management Console 中承担角色

管理 RBAC(任务列表)

管理 RBAC

如何更改角色的口令

如何更改角色的属性

如何创建或更改权限配置文件

如何更改用户的 RBAC 属性

如何为传统应用程序添加 RBAC 属性

10.  基于角色的访问控制(参考)

11.  特权(任务)

12.  特权(参考)

第 4 部分加密服务

13.  Oracle Solaris 加密框架(概述)

14.  Oracle Solaris 加密框架(任务)

15.  Oracle Solaris 密钥管理框架

第 5 部分验证服务和安全通信

16.  使用验证服务(任务)

17.  使用 PAM

18.  使用 SASL

19.  使用 Oracle Solaris 安全 Shell(任务)

20.  Oracle Solaris 安全 Shell(参考)

第 6 部分Kerberos 服务

21.  Kerberos 服务介绍

22.  规划 Kerberos 服务

23.  配置 Kerberos 服务(任务)

24.  Kerberos 错误消息和故障排除

25.  管理 Kerberos 主体和策略(任务)

26.  使用 Kerberos 应用程序(任务)

27.  Kerberos 服务(参考)

第 7 部分Oracle Solaris 审计

28.  Oracle Solaris 审计(概述)

29.  规划 Oracle Solaris 审计

30.  管理 Oracle Solaris 审计(任务)

31.  Oracle Solaris 审计(参考)

词汇表

索引

管理 RBAC

Solaris Management Console GUI 是管理 RBAC 的首选方法。


注 - 请勿尝试同时使用命令行和图形用户界面来管理 RBAC。这样可能会导致对配置所做的更改出现冲突,从而使得行为不可预测。这两种工具都可以管理 RBAC,但是不能同时使用二者。


如何更改角色的口令

开始之前

您必须已承担拥有 User Security(用户安全)配置文件的角色或已切换至超级用户。您不能处于您要更改其口令的角色中。角色不能更改其自己的口令。

示例 9-13 使用 passwd 命令更改本地角色的口令

在本示例中,超级用户将更改本地 operadm 角色的口令。

# passwd -r files operadm
New password: Type new password
Re-enter new password: Retype new password

示例 9-14 在 LDAP 系统信息库中更改角色的口令

在本示例中,Primary Administrator(主管理员)角色将更改 LDAP 目录服务中 operadm 角色的口令。

$ passwd -r ldap operadm
New password: Type new password
Re-enter new password: Retype new password

示例 9-15 使用 smrole modify 命令更改角色的口令

在本示例中,管理员将联系 Solaris Management Console 服务器以更改 NIS 域中的 operadm 口令。如果管理员在按下回车键之前没有提供口令,则会显示 New Password:(新口令:)提示。

$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \
-r primaryadm -l <Type primaryadm password> \
modify -- -n operadm -P Press the Return key
New Password: a!2@3#4$5%6*7
$

如何更改角色的属性

开始之前

要更改角色属性,您必须承担拥有 Primary Administrator(主管理员)权限配置文件的角色或切换到用户 root。角色属性包括口令、权限配置文件和授权。


注 - 要更改角色的口令属性,请参见如何更改角色的口令


示例 9-16 使用 rolemod 命令更改本地角色的属性

在本示例中,将修改 operadm 角色以使其具有 FTP Management(FTP 管理)权限配置文件。

$ rolemod -c "Handles printers, backup, and FTP" \
-P "Operator,FTP Management,All" operadm

这些权限配置文件将添加到通过 policy.conf 文件授予的配置文件。

示例 9-17 使用 smrole modify 命令更改本地角色的属性

在以下示例中,将修改 operadm 角色以添加 FTP Management(FTP 管理)权限配置文件。

$ /usr/sadm/bin/smrole -r primaryadm -l <Type primaryadm password> \
modify -- -n operadm -c "Handles printers, backup, and FTP" \
-p "FTP Management"

示例 9-18 使用 smrole modify 命令更改域中的角色

在以下示例中,将更改 clockmgr 角色。ID 为 108 的 NIS 用户无法再承担该角色。ID 为 110 的 NIS 用户可以承担 clockmgr 角色。

$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \
-r primaryadm -l <Type primaryadm password> \
modify -- -n clockmgr -r 108 -u 110

如何创建或更改权限配置文件

权限配置文件是一种角色属性。如果 prof_attr 数据库不包含满足您需求的权限配置文件,则应创建或更改权限配置文件。要了解有关权限配置文件的更多信息,请参见RBAC 权限配置文件

开始之前

要创建或更改权限配置文件,您必须已承担 Primary Administrator(主管理员)角色或已切换到超级用户。

示例 9-19 通过命令行修改权限配置文件

在以下示例中,Network Management(网络管理)权限配置文件充当 Network Security(网络安全)权限配置文件的补充配置文件。具有 Network Security(网络安全)配置文件的角色现在可以配置网络和主机,而且还可以运行与安全相关的命令。

$ /usr/sadm/bin/smprofile -D nisplus:/example.host/example.domain \
-r primaryadm -l <Type primaryadm password> \
modify -- -n "Network Security" \
-d "Manage network and host configuration and security" \
-m RtNetConfSec.html -p "Network Management"

运行此命令之前,管理员创建了一个新的帮助文件 RtNetConfSec.html,并将其放置在 /usr/lib/help/profiles/locale/C 目录中。

示例 9-20 使用 Rights(权限)工具创建新的权限配置文件

下表列出了名为 "Build Administrator"(生成管理员)的假设的权限配置文件的样例数据。此权限配置文件包括子目录 /usr/local/swctrl/bin 中的命令。这些命令的有效 UID 为 0。Build Administrator(生成管理员)权限配置文件适用于管理软件开发的生成和版本控制的管理员。

选项卡
字段
示例
General(常规)
Name(名称)
Build Administrator(生成管理员)
Description(说明)
For managing software builds and versioning.(用于管理软件生成和版本控制。)
Help File Name(帮助文件名称)
BuildAdmin.html
Commands(命令)
Add Directory(添加目录)
单击 "Add Directory"(添加目录),在对话框中键入 /usr/local/swctrl/bin,然后单击 "OK"(确定)。
Commands Denied(命令遭拒)/Commands Permitted(许可的命令)
/usr/local/swctrl/bin 移动到 "Commands Permitted"(许可的命令)列。
Set Security Attributes(设置安全属性)
选择 /usr/local/swctrl/bin,单击 "Set Security Attributes"(设置安全属性),然后将 "Effective UID"(有效 UID)设置为 root
Authorizations(授权)
Authorizations Excluded(排除的授权)/Authorizations Included(包括的授权)
No authorizations.(无授权。)
Supplementary Rights(辅助权限)
Rights Excluded(排除的权限)/Rights Included(包括的权限)
No supplementary rights profiles.(无补充权限配置文件。)

故障排除

如果权限配置文件没有为角色提供所需的功能,请检查以下情况:

如何更改用户的 RBAC 属性

用户属性包括口令、权限配置文件和授权。为用户提供管理权能的最安全方法是将角色指定给用户。有关讨论,请参见直接指定安全属性时的安全注意事项

开始之前

您必须承担拥有 Primary Administrator(主管理员)权限配置文件的角色,或切换到用户 root

示例 9-21 通过命令行修改本地用户的 RBAC 属性

在本示例中,用户 jdoe 现在可以承担 System Administrator(系统管理员)角色。

$ usermod -R sysadmin jdoe

为此角色添加了该用户可以承担的角色。

示例 9-22 使用 smuser 命令修改用户的 RBAC 属性。

在本示例中,为用户 jdoe 指定了两个角色:System Administrator(系统管理员)和 Operator(操作员)。由于该用户和这两个角色是在本地定义的,因此不必使用 -D 选项。

$ /usr/sadm/bin/smuser -r primaryadm -l <Type primaryadm password> \
modify -- -n jdoe -a sysadmin -a operadm

在以下示例中,该用户是在 NIS 名称服务中定义的。因此,需要使用 -D 选项。两个角色是在名称服务中定义的。角色 root 是在本地定义的。

$ /usr/sadm/bin/smuser -D nis:/examplehost/example.domain \
-r primaryadm -l <Type primaryadm password> \
modify -- -n jdoe -a sysadmin -a operadm -a root

如何为传统应用程序添加 RBAC 属性

传统应用程序是一个命令或一组命令。先针对权限配置文件中的每个命令设置安全属性。然后,在角色中包括该权限配置文件。承担该角色的用户便可以运行具有安全属性的传统应用程序。

要将传统应用程序添加到 Solaris Management Console,请参见《系统管理指南:基本管理》中的"向 Solaris Management Console 中添加工具"

开始之前

要更改权限配置文件中命令的安全属性,您必须已承担 Primary Administrator(主管理员)角色或已切换到超级用户。

  1. 使用 Solaris Management Console 中的 "Users"(用户)工具。

    要启动控制台,请参见如何在 Solaris Management Console 中承担角色。请按照左侧窗格中的说明在 "Rights"(权限)中修改权限配置文件。有关更多详尽信息,请参见联机帮助。

  2. 向实现传统应用程序的命令添加安全属性。

    向传统应用程序添加安全属性的方式与为任何命令添加安全属性的方式相同。您必须将具有安全属性的命令添加到权限配置文件。对于传统命令,请为命令指定 euid=0uid=0 安全属性。有关该过程的详细信息,请参见如何创建或更改权限配置文件

  3. 将传统应用程序添加到权限配置文件后,在角色的配置文件列表中包括该权限配置文件。

    要向角色添加权限配置文件,请参见如何更改角色的属性

示例 9-23 向脚本中的命令添加安全属性

如果某个脚本中的命令需要设置 setuid 位或 setgid 位才能成功运行,则必须在权限配置文件中为该脚本的可执行脚本命令添加安全属性。然后,在角色中包括该权限配置文件,并将该角色指定给用户。当用户承担该角色并执行该脚本时,此命令便会以安全属性运行。

要将安全属性添加到命令或 shell 脚本,请参见如何创建或更改权限配置文件

示例 9-24 检查脚本或程序中的授权

要检查脚本授权,需要添加一项基于 auths 命令的测试。有关此命令的详细信息,请参见 auths(1) 手册页。

例如,以下行会测试用户是否具有作为 $1 参数提供的授权:

if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then
        echo Auth granted
else
        echo Auth denied
fi

要使测试更加完整,应在测试中包括检查其他使用通配符的授权的逻辑。例如,要测试用户是否具有 solaris.admin.usermgr.write 授权,需要检查以下字符串:

如果您要编写程序,请使用函数 getauthattr() 对授权进行测试。