跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:安全服务 Oracle Solaris 11 Information Library (简体中文) |
可以限制远程登录、要求用户使用口令并要求 root 帐户使用复杂口令。也可以监视失败的访问尝试以及临时禁止登录。
以下任务列表列出了用于监视用户登录和禁止用户登录的过程。
|
更改 root 口令时,必须符合适用于系统所有用户的口令要求。
开始之前
您必须是 root 角色。
# passwd root New Password: Re-enter new Password: passwd: password successfully changed for root
如口令不符合要求,屏幕会显示消息。消息为提示性的。三次尝试后,必须再次运行命令以更改口令。
passwd: Password too short - must be at least 6 characters. passwd: The password must contain at least 2 alphabetic character(s). passwd: The password must contain at least 1 numeric or special character(s).
开始之前
您必须是 root 角色。
# logins -x -l username
显示一组扩展的登录状态信息。
显示指定用户的登录状态。变量 username 是用户的登录名称。用逗号分隔多个登录名。
logins 命令使用相应的口令数据库来获取用户的登录状态。该数据库可以是本地 /etc/passwd 文件,也可以是命名服务的口令数据库。有关更多信息,请参见 logins(1M) 手册页。
示例 3-1 显示用户的登录状态
在以下示例中,显示了用户 jdoe 的登录状态。
# logins -x -l jdoe jdoe 500 staff 10 Jaylee Jaye Doe /home/jdoe /bin/bash PS 010103 10 7 -1
标识用户的登录名称。
标识用户 ID (user ID, UID)。
标识用户的主组。
标识组 ID (group ID, GID)。
标识注释。
标识用户的起始目录。
标识登录 shell。
指定口令生命期信息:
上次更改口令的日期
两次更改之间要求的天数
在该天数后必须更改
警告期
开始之前
您必须是 root 角色。
# logins -p
-p 选项用于显示没有口令的用户列表。logins 命令使用本地系统中的 passwd 数据库,除非在 nsswitch.conf 文件中指定了分布式的命名服务。
示例 3-2 显示没有口令的用户
在以下示例中,用户 pmorph 没有口令。
# logins -p pmorph 501 other 1 Polly Morph #
在系统关闭或例程期间,可临时禁止用户登录。超级用户登录将不受影响。有关更多信息,请参见 nologin(4) 手册页。
开始之前
您必须是 root 角色。
# vi /etc/nologin
示例 3-3 禁止用户登录
在此示例中,用户将收到系统不可用的通知。
# vi /etc/nologin (Add system message here) # cat /etc/nologin ***No logins permitted.*** ***The system will be unavailable until 12 noon.***
您也可以将系统引导至运行级 0(单用户模式)以禁止登录。关于将系统转入单用户模式的信息,请参见《在 x86 平台上引导和关闭 Oracle Solaris》中的第 3 章 "关闭系统(任务)"。
此过程从终端窗口捕获失败的登录尝试。此过程不会从桌面登录尝试中捕获失败的登录。
开始之前
您必须是 root 角色。
# touch /var/adm/loginlog
# chmod 600 /var/adm/loginlog
# chgrp sys /var/adm/loginlog
例如,使用错误的口令五次登录系统。然后,显示 /var/adm/loginlog 文件。
# more /var/adm/loginlog jdoe:/dev/pts/2:Tue Nov 4 10:21:10 2010 jdoe:/dev/pts/2:Tue Nov 4 10:21:21 2010 jdoe:/dev/pts/2:Tue Nov 4 10:21:30 2010 jdoe:/dev/pts/2:Tue Nov 4 10:21:40 2010 jdoe:/dev/pts/2:Tue Nov 4 10:21:49 2010 #
在 loginlog 文件中,每次失败的尝试都对应一项。每一项都包含用户的登录名称、tty 设备以及登录尝试失败的时间。如果用户登录尝试失败的次数少于五次,则不会记录任何失败的登录尝试。
如果 loginlog 文件不断增大,则表明可能是存在侵入计算机系统的尝试。因此,应定期检查并清除该文件的内容。有关更多信息,请参见 loginlog(4) 手册页。
此过程在 syslog 文件中捕获所有失败的登录尝试。
开始之前
您必须是 root 角色。
编辑 /etc/default/login 文件以更改相应项。请确保取消对 SYSLOG=YES 的注释。
# grep SYSLOG /etc/default/login # SYSLOG determines whether the syslog(3) LOG_AUTH facility should be used SYSLOG=YES # The SYSLOG_FAILED_LOGINS variable is used to determine how many failed #SYSLOG_FAILED_LOGINS=5 SYSLOG_FAILED_LOGINS=0 #
# touch /var/adm/authlog
# chmod 600 /var/adm/authlog
# chgrp sys /var/adm/authlog
将失败发送至 authlog 文件。
例如,使用错误的口令以一般用户的身份登录系统。然后,作为超级用户,显示 /var/adm/authlog 文件。
# more /var/adm/authlog Nov 4 14:46:11 example1 login: [ID 143248 auth.notice] Login failure on /dev/pts/8 from example2, stacey #
示例 3-4 在三次登录失败后记录访问尝试
按照上述过程进行操作,但在 /etc/default/login 文件中将 SYSLOG_FAILED_LOGINS 的值设置为 3。
示例 3-5 在三次登录失败后关闭连接
在 /etc/default/login 文件中取消对 RETRIES 项的注释,然后将 RETRIES 的值设置为 3。所做编辑将立即生效。在一个会话中重试登录三次后,系统便会关闭连接。