跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 管理:安全服务 Oracle Solaris 11 Information Library (简体中文) |
另一种使用超级用户帐户的方法是设置基于角色的访问控制 (role-based access control, RBAC)。有关 RBAC 的概述信息,请参见基于角色的访问控制(概述)。要设置 RBAC,请参见第 9 章。
sulog 文件列出了 su 命令的每次使用情况,而不仅仅包括用于从用户切换到超级用户的 su 尝试。
开始之前
您必须是 root 角色。
# more /var/adm/sulog SU 12/20 16:26 + pts/0 stacey-root SU 12/21 10:59 + pts/0 stacey-root SU 01/12 11:11 + pts/0 root-rimmer SU 01/12 14:56 + pts/0 jdoe-root SU 01/12 14:57 + pts/0 jdoe-root
这些项显示以下信息:
缺省情况下,通过 /etc/default/su 文件中的以下项启用此文件中的 su 日志记录:
SULOG=/var/adm/sulog
故障排除
包含 ??? 的项表示无法识别 su 命令的控制终端。通常,在显示桌面之前对 su 命令的系统调用包括 ???,如 SU 10/10 08:08 + ??? root-root 中所示。在用户启动桌面会话后,ttynam 命令会将控制终端的值返回至 sulog: SU 10/10 10:10 + pts/3 jdoe-root。
类似如下的项表示未在命令行中调用 su 命令:SU 10/10 10:20 + ??? root-oracle。Trusted Extensions 用户可能已使用 GUI 切换至 oracle 角色。
此方法可立即检测访问本地系统的 root 用户尝试。
开始之前
您必须是 root 角色。
CONSOLE=/dev/console
缺省情况下,控制台设备设置为 /dev/console。使用此设置,root 可以登录到控制台。root 无法远程登录。
在远程系统上,尝试以 root 用户身份登录。
mach2 % ssh -l root mach1 Password: <Type root password of mach1> Password: Password: Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).
在缺省配置中,root 是一个角色,而角色无法登录。此外,在缺省配置中,ssh 协议阻止 root 用户登录。
缺省情况下,会通过 SYSLOG 实用程序在控制台上显示试图成为 root 的尝试。
% su - Password: <Type root password> #
将在终端控制台上显示一条消息。
Sep 7 13:22:57 mach1 su: 'su root' succeeded for jdoe on /dev/pts/6
示例 3-7 记录超级用户访问尝试
在此示例中,SYSLOG 不会记录超级用户尝试。因此,管理员将通过删除 /etc/default/su 文件中的 #CONSOLE=/dev/console 项的注释来记录这些尝试。
# CONSOLE determines whether attempts to su to root should be logged # to the named device # CONSOLE=/dev/console
当用户尝试成为超级用户时,将在终端控制台上显示该尝试。
SU 09/07 16:38 + pts/8 jdoe-root
故障排除
要在 /etc/default/login 文件包含缺省 CONSOLE 项的情况下从远程系统成为超级用户,用户必须先使用其用户名登录。使用其用户名登录后,用户便可以使用 su 命令成为超级用户。
如果控制台显示类似于 Mar 16 16:20:36 mach1 login: ROOT LOGIN /dev/pts/14 FROM mach2.Example.COM 的项,则系统允许远程 root 登录。要禁止远程超级用户访问,请将 /etc/default/login 文件中的 #CONSOLE=/dev/console 项更改为 CONSOLE=/dev/console。