如何自动注销不活动的 Linux 用户如何自动注销不活动的 Linux 用户如何自动注销不活动的 Linux 用户如何自动注销不活动的 Linux 用户
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何自动注销不活动的 Linux 用户

发表 admin at 2025年2月28日
类别
  • 未分类
标签

您可以通过以下两种方法自动从 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 系统管理技巧。

©2015-2025 Norria support@alaica.com