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

防止权限升级

Solaris 内核可防止权限升级。权限升级是指某项权限使进程执行的操作多于其原本能够执行的操作。要防止进程获取的权限超出其应该获得的权限,必须具有完整的权限集才能进行特定系统修改。例如,只有具有完整权限集的进程才能更改 root (UID=0) 拥有的文件或进程。root 用户不需要权限就能更改 root 拥有的文件。但是,非超级用户必须具有所有权限才能更改 root 拥有的文件。

同样,提供设备访问权限的操作需要有效集中的所有权限。

file_chown_selfproc_owner 权限可进行权限升级。file_chown_self 权限允许进程放弃其文件。proc_owner 权限允许进程检查不归其拥有的进程。

可通过 rstchown 系统变量限制 file_chown_self 权限。将 rstchown 变量设置为零时,会从系统和所有用户的初始可继承集中删除 file_chown_self 权限。有关 rstchown 系统变量的更多信息,请参见 chown(1) 手册页。

file_chown_self 权限以最安全的方式指定给特定命令,放置在配置文件中,并指定给角色以在配置文件 shell 中使用。

proc_owner 权限不足以将进程 UID 切换为 0。将进程从任何 UID 切换为 UID=0 需要所有权限。由于 proc_owner 权限授予无限制读取系统上所有文件的权限,因此可以非常安全地将该权限指定给特定命令,将其放置在配置文件中,指定给角色以在配置文件 shell 中使用。


注意 – 注意 –

可修改用户帐户,以便在该用户的初始可继承集中包含 file_chown_self 权限或 proc_owner 权限。您应当有充分的安全理由将这些功能强大的权限放置在任何用户、角色或系统的可继承权限集中。


有关如何针对设备防止权限升级的详细信息,请参见权限和设备