如何在Linux的一段时间后自动注销非活动用户
本简要教程介绍了在Linux和UNIX系统中特定时间段内自动注销非活动用户的方式。
在Linux的一段时间后自动注销非活动用户
我们可以三种方式做到这一点。
让我们看看第一种方法。
方法1:
编辑~/.bashrc或者~/.bash_profile文件:
$vi ~/.bashrc
或者,
$vi ~/.bash_profile
添加以下行。
TMOUT=100
这使用户在不活动之后自动注销100秒。
我们可以根据方便定义此值。
按ESC并键入:WQ保存并关闭文件。
通过运行以下命令使更改生效:
$source ~/.bashrc
或者,
$source ~/.bash_profile
现在,让会话闲置100秒。
在不活动100秒后,我们将看到以下消息,用户将自动从会话中注销。
timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.
用户可以轻松修改此设置。
因为,~/.bashrc文件由用户自己拥有。
要修改或者删除此超时设置,只需删除上面添加的行,并通过运行"源~/.bashrc"命令使更改生效。
或者,用户可以通过运行以下命令来禁用此命令:
$export TMOUT=0
或者,
$unset TMOUT
如果要阻止用户更改设置,请按照第二种方法进行操作。
方法2:
以root用户身份登录。
创建一个名为"autologout.sh"的新文件。
# vi /etc/profile.d/autologout.sh
添加以下行:
TMOUT=100 readonly TMOUT export TMOUT
保存并关闭文件。
使用命令用作可执行文件:
# chmod +x /etc/profile.d/autologout.sh
现在,注销或者重新启动系统。
无效用户将在100秒后自动注销。
即使他/她想要留在会话中,普通用户也无法更改此设置。
在100秒后,它们将被抛出。
这两种方法适用于本地会话和远程会话,例如:通过SSH从远程系统登录的本地登录用户或者用户登录。
在下一个方法中,我们将看到如何只自动注销非活动SSH会话,而不是本地会话。
方法3:
在此方法中,我们只会使SSH会话用户在特定的不活动期后注销。
编辑/etc/ssh/sshd_config文件:
$sudo vi /etc/ssh/sshd_config
添加/修改以下行:
ClientAliveInterval 100 ClientAliveCountMax 0
按ESC键和类型:WQ保存并关闭此文件。
重新启动SSHD服务以生效更改。
$sudo systemctl restart sshd
现在,从远程系统中SSH到此系统。
100秒后,SSH会话将自动关闭,我们将看到以下消息:
$Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.
现在,通过SSH从远程系统访问此系统的人将自动在不活动100秒后自动注销。