此方法可立即检测访问本地系统的 root 用户尝试。
开始之前
您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
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
在此示例中,SYSLOG 不会记录 root 尝试。因此,管理员将通过删除 /etc/default/su 文件中的 #CONSOLE=/dev/console 项的注释来记录这些尝试。
# CONSOLE determines whether attempts to su to root should be logged # to the named device # CONSOLE=/dev/console
当用户尝试成为 root 用户时,将在终端控制台上显示该尝试。
SU 09/07 16:38 + pts/8 jdoe-root
故障排除
当 /etc/default/login 文件包含缺省 CONSOLE 项时,要从远程系统成为 root,用户必须先使用其用户名登录。使用其用户名记录后,用户则可以使用 su 命令称为 root 用户。
如果控制台显示类似于 Last login: Wed Sep 7 15:13:11 2011 from mach2 的项,则说明已将系统配置为允许远程 root 登录。要阻止远程 root 访问,请将 /etc/default/login 文件中的 #CONSOLE=/dev/console 项更改为 CONSOLE=/dev/console。要了解如何使 ssh 协议恢复为缺省值,请参见 sshd_config(4) 手册页。