在特殊情况下,可从一般用户或来宾用户的基本特权集中删除部分基本特权。例如,可以阻止 Sun Ray 用户检查不归其所有的进程的状态。
开始之前
您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
以下三种基本特权可能是候选的删除对象。
% ppriv -lv basic file_link_any Allows a process to create hardlinks to files owned by a uid different from the process' effective uid. ... proc_info Allows a process to examine the status of processes other than those it can send signals to. Processes which cannot be examined cannot be seen in /proc and appear not to exist. proc_session Allows a process to send signals or trace processes outside its session. ...
拒绝向任何尝试使用系统的用户授予这些特权。这种特权删除方法可能适用于公用计算机。
# pfedit /etc/security/policy.conf ... #PRIV_DEFAULT=basic PRIV_DEFAULT=basic,!file_link_any,!proc_info,!proc_session
# usermod -K 'defaultpriv=basic,!file_link_any' user
# usermod -K 'defaultpriv=basic,!proc_info' user
# usermod -K 'defaultpriv=basic,!proc_session' user
# usermod -K 'defaultpriv=basic,!file_link_any,!proc_info,!proc_session' user
这种保护适用于您为其分配了此权限配置文件的任何用户或系统。
# profiles -p shared-profile -S ldap shared-profile: set defaultpriv=basic,!file_link_any,!proc_info,!proc_session ...
有关创建权限配置文件的更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的创建权限配置文件和授权。
如果许多用户(例如 Sun Ray 用户或远程用户)共享同一个权限配置文件,则在权限配置文件中设置此值将是一个可伸缩的解决方案。
# usermod -P shared-profile username
此外,也可以在 policy.conf 文件中为每个系统分配一个配置文件。
# pfedit /etc/security/policy.conf ... #PROFS_GRANTED=Basic Solaris User PROFS_GRANTED=shared-profile,Basic Solaris User
另请参见
有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的第 1 章 使用权限控制用户和进程和 privileges(5) 手册页。