您可以限制远程登录和要求用户具有口令,也可以监视失败的访问尝试以及临时禁用登录。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
# logins -x -l username |
显示一组扩展的登录状态信息。
显示指定用户的登录状态。变量 username 是用户的登录名称。必须以逗号分隔的列表形式指定多个登录名称。
logins 命令使用相应的口令数据库来获取用户的登录状态。该数据库可以是本地 /etc/passwd 文件,也可以是名称服务的口令数据库。有关更多信息,请参见 logins(1M) 手册页。
在以下示例中,显示了用户 rimmer 的登录状态。
# logins -x -l rimmer rimmer 500 staff 10 Annalee J. Rimmer /export/home/rimmer /bin/sh PS 010103 10 7 -1 |
标识用户的登录名称。
标识用户 ID (user ID, UID)。
标识用户的主组。
标识组 ID (group ID, GID)。
标识注释。
标识用户的起始目录。
标识登录 shell。
指定口令生命期信息:
上次更改口令的日期
更改之间要求的天数
在该天数后必须更改
警告期
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
# logins -p |
在以下示例中,用户 pmorph 没有口令。
# logins -p pmorph 501 other 1 Polly Morph # |
在系统关闭或例行维护期间,可临时禁止用户登录。超级用户登录将不受影响。有关更多信息,请参见 nologin(4) 手册页。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
在文本编辑器中创建 /etc/nologin 文件。
# vi /etc/nologin |
添加有关系统可用性的消息。
关闭并保存该文件。
在此示例中,用户将收到系统不可用的通知。
# vi /etc/nologin (Add system message here) # cat /etc/nologin ***No logins permitted.*** ***The system will be unavailable until 12 noon.*** |
您也可以将系统引导至运行级 0(单用户模式)以禁止登录。有关将系统引导至单用户模式的信息,请参见《系统管理指南:基本管理》中的第 9 章 “关闭系统(任务)”。
此过程从终端窗口捕获失败的登录尝试。此过程不会从 CDE 或 GNOME 登录尝试中捕获失败的登录。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
在 /var/adm 目录中创建 loginlog 文件。
# touch /var/adm/loginlog |
在 loginlog 文件中,为 root 用户设置读写权限。
# chmod 600 /var/adm/loginlog |
在 loginlog 文件中,将组成员关系更改为 sys。
# chgrp sys /var/adm/loginlog |
检验日志是否正常工作。
例如,使用错误的口令五次登录系统。然后,显示 /var/adm/loginlog 文件。
# more /var/adm/loginlog jdoe:/dev/pts/2:Tue Nov 4 10:21:10 2003 jdoe:/dev/pts/2:Tue Nov 4 10:21:21 2003 jdoe:/dev/pts/2:Tue Nov 4 10:21:30 2003 jdoe:/dev/pts/2:Tue Nov 4 10:21:40 2003 jdoe:/dev/pts/2:Tue Nov 4 10:21:49 2003 # |
在 loginlog 文件中,每次失败的尝试都对应一项。每一项都包含用户的登录名称、tty 设备以及登录尝试失败的时间。如果用户登录尝试失败的次数少于五次,则不会记录任何失败的登录尝试。
如果 loginlog 文件不断增大,则表明可能是存在侵入计算机系统的尝试。因此,应定期检查并清除该文件的内容。有关更多信息,请参见 loginlog(4) 手册页。
此过程捕获 syslog 文件中所有失败的登录尝试。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
使用所需的 SYSLOG 和 SYSLOG_FAILED_LOGINS 值设置 /etc/default/login 文件。
编辑 /etc/default/login 文件以更改相应项。请确保取消对 SYSLOG=YES 的注释。
# grep SYSLOG /etc/default/login # SYSLOG determines whether the syslog(3) LOG_AUTH facility # should be used SYSLOG=YES … SYSLOG_FAILED_LOGINS=0 # |
使用正确的权限创建文件以保存日志信息。
编辑 syslog.conf 文件以记录失败的口令尝试。
这些失败应发送到 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 # |
定期监视 /var/adm/authlog 文件。
按照上述过程进行操作,但在 /etc/default/login 文件中将 SYSLOG_FAILED_LOGINS 的值设置为 3。
在 /etc/default/login 文件中取消对 RETRIES 项的注释,然后将 RETRIES 的值设置为 3。所做编辑将立即生效。在一个会话中重试登录三次后,系统便会关闭连接。
首次建立拨号口令时,务必保持登录到至少一个端口。请在其他端口上测试该口令。如果注销以测试新口令,则可能无法重新登录。如果同时还登录到另一个端口,则可返回并修复相应错误。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
创建一个包含串行设备列表的 /etc/dialups 文件。
添加要使用拨号口令保护的所有端口。/etc/dialups 文件的内容应与以下信息类似:
/dev/term/a /dev/term/b /dev/term/c |
对于要求拥有拨号口令的登录程序,创建一个 /etc/d_passwd 文件,并在文件中添加这些程序。
添加用户可在登录时运行的 shell 程序,例如 uucico、sh、ksh 和 csh。/etc/d_passwd 文件的显示应与以下信息类似:
/usr/lib/uucp/uucico:encrypted-password: /usr/bin/csh:encrypted-password: /usr/bin/ksh:encrypted-password: /usr/bin/sh:encrypted-password: |
在此过程的后续部分,将为每个登录程序添加加密口令。
在这两个文件中,将拥有权设置为 root。
# chown root /etc/dialups /etc/d_passwd |
在这两个文件中,将组拥有权设置为 root。
# chgrp root /etc/dialups /etc/d_passwd |
在这两个文件中,为 root 设置读写权限。
# chmod 600 /etc/dialups /etc/d_passwd |
创建临时用户。
# useradd username |
为临时用户创建口令。
# passwd username New Password: <键入口令> Re-enter new Password: <重新键入口令> passwd: password successfully changed for username |
捕获加密口令。
# grep username /etc/shadow > username.temp |
编辑 username.temp 文件。
删除除加密口令以外的所有字段。第二个字段保存加密口令。
例如,在以下行中,加密口令为 U9gp9SyA/JlSk。
temp:U9gp9SyA/JlSk:7967:::::7988: |
删除临时用户。
# userdel username |
将加密口令从 username.temp 文件复制到 /etc/d_passwd 文件中。
可为每个登录 shell 创建不同口令。或者,对每个登录 shell 使用相同口令。
将该口令通知拨号用户。
应确保在通知用户的过程中口令不会被篡改。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
将下面的项作为单独的一行放入 /etc/d_passwd 文件:
/usr/bin/sh:*: |