系统管理指南:安全性服务

特权应用程序和 RBAC

可以覆盖系统控制的应用程序和命令被视为特权应用程序。可以使用安全属性(如 UID=0)、权限和授权将应用程序变为特权应用程序。

检查 UID 和 GID 的应用程序

在 UNIX 环境中,长期以来都存在检查 root (UID=0) 或其他某个特殊 UID 或 GID 的特权应用程序。使用权限配置文件机制,可以将需要特定 ID 的命令分离出来。您可以将具有执行安全属性的命令放在权限配置文件中,而不是针对任何用户均可访问的命令更改 ID。这样,拥有此权限配置文件的用户或角色不必成为超级用户便可运行程序。

可以指定实际 ID 或有效 ID。指定有效 ID 优先于指定实际 ID。有效 ID 等效于文件权限位中的 setuid 功能,它还可以标识 UID 以进行审计。但是,由于某些 shell 脚本和程序需要 root 的实际 UID,因此也可设置实际 UID。例如,pkgadd 命令需要实际 UID 而不是有效 UID。如果使用有效 ID 不足以运行命令,则需要将此 ID 更改为实际 ID。有关过程,请参见如何创建或更改权限配置文件

检查权限的应用程序

特权应用程序可以检查权限的使用。使用 RBAC 权限配置文件机制,可以指定特定命令的权限。您可以将具有执行安全属性的命令单独放在权限配置文件中,而无需具有使用应用程序或命令的超级用户功能。这样,拥有此权限配置文件的用户或角色便可使用成功执行命令所需的那几种权限来运行此命令。

用于检查权限的命令包括:

要向权限配置文件中添加具有权限的命令,请参见如何创建或更改权限配置文件。要确定特殊配置文件中用于检查权限的命令,请参见确定已指定的权限

检查授权的应用程序

Solaris OS 还提供了用于检查授权的命令。通过定义,root 用户可具有所有授权。因此,root 用户可以运行任何应用程序。用于检查授权的应用程序包括:

要针对授权测试脚本或程序,请参见示例 9–19。要编写需要授权的程序,请参见《Solaris 开发者安全性指南》中的“关于授权”