特权应用程序是可以覆盖系统控制并检查特定用户 ID (user ID, UID)、组 ID (group ID, GID)、授权或权限的应用程序。这些访问控制元素由系统管理员指定。有关管理员如何使用这些访问控制元素的一般讨论,请参见《系统管理指南:安全性服务》中的第 8 章 “使用角色和权限(概述)”。
Solaris 操作系统为开发者提供了两个用于更为精细地授予权限的元素:
权限-权限是可以授予应用程序的独立权利。使用权限,进程可以执行 Solaris OS 针对其他不具有该权限的进程禁止的操作。例如,通常情况下,如果没有正确的文件权限,进程就无法打开数据文件。file_dac_read 权限为进程提供了超出(或超越) UNIX 文件权限来读取文件的能力。权限是在内核级别上强制实施的。
授权-授权是可以执行安全策略针对其他不具有该授权的用户和角色禁止的一类操作的权限。可以向角色或用户指定授权。 授权是在用户级别上强制实施的。
授权与权限之间的差异与定义谁可以执行哪种强制操作的策略的级别有关。权限是在内核级别上强制实施的。没有正确的权限,进程就无法在特权应用程序中执行特定的操作。授权是在用户应用程序级别强制执行策略的。访问特权应用程序或执行特权应用程序中的特定操作时可能需要授权。