如何自动注销不活动的 Linux 用户
您可以通过以下两种方法自动从 Linux 系统中注销空闲用户。
保持与 Linux 服务器的空闲 shell 会话可能存在安全风险。不要忘记它会消耗系统资源。
好吧,也许不是一个空闲会话,但想象一下,如果您有多个用户远程访问同一个 Linux 系统并让他们的会话保持空闲状态。
作为 Linux 系统管理员,您可以查看哪些用户登录了系统以及他们空闲了多长时间。
您可以手动将空闲用户踢出,但这很烦人,而且效率肯定很低。
让我向您展示如何从 shell 中自动注销空闲用户。
方法 1:使用 TMOUT 从空闲 shell 会话中自动注销用户
在 bash 和其他 shell 中,您可以使用 TMOUT 变量来设置空闲注销时间。如果用户在这段时间内没有任何活动,shell 会话将关闭。
检查 TMOUT 是否已设置。这些值以秒为单位。
echo $TMOUT
要进行测试,您可以像这样使用它:
TMOUT=300
这将在 300 秒(即 5 分钟)后关闭您的终端会话或 SSH 会话。
对于 SSH 会话,您应该看到如下消息:
root@localhost:~# timed out waiting for input: auto-logout
Connection to 212.125.89.175 closed.
对于本地会话,您的终端应该自动关闭。
但您可能已经知道这不是设置环境变量的最佳方法。您可以在单个用户的配置文件(或 bash 配置文件)中设置它,也可以从 /etc/profile 为系统范围内的所有用户设置它。
假设您是系统管理员,并且希望自动注销 Linux 服务器上的空闲用户,请在系统级别进行设置。
在 Vim 或 Nano 等文本编辑器中打开 /etc/profile 文件:
nano /etc/profile
并向其中添加以下行:
TMOUT=300
保存并关闭文件。从现在开始,任何超过 5 分钟不活动的用户都将自动注销。
这适用于本地和远程会话。如果您只想为 SSH 会话设置它,则可以使用下一个方法。
方法 2:自动从空闲 SSH 会话中注销用户
您可以将 SSH 服务器配置为在一段不活动时间后强制注销用户。
编辑 SSH 配置文件 (/etc/ssh/sshd_config):
sudo nano /etc/ssh/sshd_config
查找以下两个变量并删除其起始行之前的 # 并设置如下值:
ClientAliveInterval 200
ClientAliveCountMax 3
保存并关闭文件。
这意味着服务器将每隔200秒向客户端发送一次保活消息,共3次。如果它没有收到响应(意味着用户空闲),它将在 600 秒 (200*3) 时关闭会话。
您可以根据您的要求选择合适的值。
这是仅限 SSH 的方法,不会影响本地 shell 会话。
我希望这个有关自动注销用户的 Linux 技巧对您有所帮助。请订阅更多 Linux 系统管理技巧。