Linux:TMOUT 自动注销用户
如何在 Linux 中当用户几分钟不活动后自动注销我的 shell 用户?
Linux bash shell 允许您定义 TMOUT 环境变量。设置 TMOUT 以在一段时间不活动后自动注销用户。该值以秒为单位定义。例如,
Linux bash shell 允许您定义 TMOUT 环境变量。设置 TMOUT 以在一段时间不活动后自动注销用户。该值以秒为单位定义。例如,
export TMOUT=SECONDS export TMOUT=120
上述命令将为默认的 /bin/bash shell 实现 2 分钟的空闲超时。您可以按如下方式编辑 ~/.bash_profile 或 /etc/profile 文件,以定义 5 分钟的空闲超时:
# set a 5 min timeout policy for bash shell TMOUT=300 readonly TMOUT export TMOUT
保存并关闭文件。readonly 命令用于使变量和函数变为只读。换句话说,您的用户无法更改名为 TMOUT 的变量的值。将其视为一项安全功能。
如何禁用 TMOUT?
要禁用自动注销,只需将 TMOUT 设置为零或按如下方式取消设置它:
$ export TMOUT=0
或者
$ unset TMOUT
请注意,只有 root 用户才能在 /etc/profile 或 ~/.bash_profile 中禁用只读变量。
关于 TCSH SHELL 和 OpenSSH 服务器/客户端的说明
SSH 允许管理员在 /etc/ssh/sshd_config 文件中设置空闲超时间隔。TCSH 用户应使用 autologout 变量。有关更多信息,请参阅我们之前的常见问题解答“ Linux/UNIX 在一段时间不活动后自动注销 BASH/TCSH/SSH 用户”。
结论
TMOUT 是一个 bash 变量,用于在没有任何活动时自动注销 Linux 用户。当我们将 TMOUT 值设置为大于零时,TMOUT 被视为 read 命令的默认超时。如果信息来自终端,在 TMOUT 秒后输入仍未到达,则 select 命令将终止。在交互式 shell 中,该值被解释为发出主提示后等待一行输入的秒数。如果未到达完整的一行信息,则 Bash 将在等待该秒数后终止。通过键入以下 man 命令阅读 bash手册页以获取更多信息:
$ man bash