在 Oracle® Solaris 11.2 中确保系统和连接设备的安全

退出打印视图

更新时间: 2014 年 9 月
 
 

如何限制和监视 root 用户登录

此方法可立即检测访问本地系统的 root 用户尝试。

开始之前

您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  1. 查看 /etc/default/login 文件中的 CONSOLE 项。
    CONSOLE=/dev/console

    缺省情况下,控制台设备设置为 /dev/console。使用此设置,root 可以登录到控制台。root 无法远程登录。

  2. 检验 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 用户登录。

  3. 监视成为 root 用户的尝试。

    缺省情况下,会通过 SYSLOG 实用程序在控制台上显示试图成为 root 的尝试。

    1. 在桌面上打开终端控制台。
    2. 在另一个窗口中,使用 su 命令成为 root
      % su -
      Password: <Type root password>
      #

      将在终端控制台上显示一条消息。

      Sep 7 13:22:57 mach1 su: 'su root' succeeded for jdoe on /dev/pts/6
示例 3-5  记录 root 用户访问尝试

在此示例中,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) 手册页。