Linux / UNIX 在一段时间不活动后自动注销 BASH / TCSH / SSH 用户
我的开发和测试网络服务器有超过 100 名用户使用。这些用户通过 ssh/putty 客户端从 Windows XP、Linux、Mac OS X 系统登录。如何在 RHEL/Fedora/CentOS Linux 服务器下设置或自动注销一段时间不活动的用户,以提高服务器安全性并节省一些资源?
您可以配置 Linux 或类 Unix 系统,让用户在一段时间不活动后自动退出。[donotprint]
[/donotprint]只需以 root 用户身份登录并创建一个名为 /etc/profile.d/autologout.sh 的文件,输入:
您可以配置 Linux 或类 Unix 系统,让用户在一段时间不活动后自动退出。[donotprint]
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 是的 |
要求 | Bash/KSH/TCSH |
预计阅读时间 | 1 分钟 |
# vi /etc/profile.d/autologout.sh
附加以下代码:
TMOUT=300 readonly TMOUT export TMOUT
保存并关闭文件。设置权限:
# chmod +x /etc/profile.d/autologout.sh
上述脚本将为默认的 /bin/bash shell 实现 5 分钟的空闲超时。
关于 tcsh/csh 用户的说明
您还可以按如下方式创建 tcsh 版本:
# vi /etc/profile.d/autologout.csh
附加以下代码:
set -r autologout 5
保存并关闭文件。设置权限,输入:
# chmod +x /etc/profile.d/autologout.csh
处理 ssh 客户端
SSH 允许管理员设置空闲超时间隔。此间隔过后,空闲用户将自动注销。打开 /etc/ssh/sshd 配置文件,输入:
# vi /etc/ssh/sshd_config
找到 ClientAliveInterval 并设置为 300(5 分钟),如下所示:
ClientAliveInterval 300 ClientAliveCountMax 0
保存并关闭文件。重新启动 sshd 服务:
# service sshd restart
或者在 RHEL/CenOS 7.x 或 Fedora Linux 服务器上使用以下命令:
# systemctl restart sshd