如果会话空闲一段时间,自动注销功能主要用于注销用户。
在本文中,我们将在 Linux 设置中为单个用户设置不同的超时值。
要仅禁用 root 用户,请在 /etc/profile.d 中创建一个 log-out.sh 脚本
(脚本名称任意,log-out.sh 只是一个演示脚本名称)
# touch /etc/profile.d/log-out.sh
# cd /etc/profile.d
# vi log-out.sh #!/bin/bash # Log out in 2 minutes if the session is idle export TMOUT=120 readonly TMOUT
这里我们将变量设置为只读。 如果在指定的秒数内没有活动(这里设置了 120 秒),TMOUT 变量将终止 shell。
注销并使用新会话登录以验证新配置
[root@localhost ~]# echo $TMOUT 120
所以上面的新值设置正确,等待 2 分钟后,shell 自动将root用户注销
[root@localhost ~]# timed out waiting for input: auto-logout [jack@localhost ~]$
注意:上述值也可以直接添加到 /etc/profile 中,但不推荐。
如何为单个用户添加不同的自动注销时间值?
现在,我想 root 用户会话在 2 分钟后自动注销,而普通用户“jack”在空闲会话 1 分钟后注销。
为此,修改 log-out.sh 脚本,如下所示
#!/bin/bash # 如果会话空闲,在 2 分钟后注销 if [ `id -nu` == "root" ];then export TMOUT=120 readonly TMOUT elif [ `id -nu` == "jack" ];then export TMOUT=60 readonly TMOUT fi
注销并重新登录以验证更改是否生效
[jack@localhost ~]$echo $TMOUT 60 [jack@localhost ~]$su Password: Last login: Sun Sep 3 16:51:40 IST 2015 on pts/1 [root@localhost ~]# echo $TMOUT 120
日期:2020-06-02 22:16:54 来源:oir作者:oir