使用隔离系统。绝不应在生产系统中调试特权应用程序,因为不完整的特权应用程序可能会危及安全。
正确设置 ID。调用进程的有效集中需要具备 proc_setid 权限,以更改其用户 ID、组 ID 或补充组 ID。
使用权限包括。应用程序使用权限时,将覆盖系统安全策略。应该包括特权任务并仔细进行控制,以确保不会破坏敏感信息。有关如何包括权限的信息,请参见权限编码示例。
使用基本权限启动。基本权限是最低操作所必需的。特权应用程序应该使用基本集启动。然后,该应用程序应该适当地删除和添加权限。以下是典型的启动方案。
守护进程以超级用户身份启动。
守护进程启用基本权限集。
守护进程禁用不必要的所有基本权限,例如 PRIV_FILE_LINK_ANY。
守护进程添加需要的所有其他权限,例如 PRIV_FILE_DAC_READ。
守护进程切换到守护进程 UID。
请避免 shell 转义序列。shell 转义序列中的新进程可以使用父进程的可继承集中的任何权限。因此,最终用户可以通过 shell 转义序列违反信任。例如,某些邮件应用程序可能会将 !command 行解释为命令并执行该行。因而,最终用户可以创建脚本,以充分利用所有邮件应用程序权限。建议删除不必要的 shell 转义序列。