Linux系統(tǒng)讓一段時(shí)間不活動(dòng)的用戶自動(dòng)登出方法
在Linux系統(tǒng)上實(shí)現(xiàn)一段時(shí)間后自動(dòng)登出非活動(dòng)用戶
有三種實(shí)現(xiàn)方法。
方法 1:
編輯 ~/.bashrc 或 ~/.bash_profile 文件:
# vi ~/.bashrc
或
# vi ~/.bash_profile
將下面行加入其中:
TMOUT=100
這會(huì)讓用戶在停止動(dòng)作100秒后自動(dòng)登出。你可以根據(jù)需要定義這個(gè)值。保存并關(guān)閉文件。
運(yùn)行下面命令讓更改生效:
# source ~/.bashrc
或
# source ~/.bash_profile
現(xiàn)在讓會(huì)話閑置100秒。100秒不活動(dòng)后,你會(huì)看到下面這段信息,并且用戶會(huì)自動(dòng)退出會(huì)話。
timed out waiting for input: auto-logout
Connection to 192.168.13.2 closed.
該設(shè)置可以輕易地被用戶所修改。因?yàn)椋瑍/.bashrc 文件被用戶自己所擁有。
要修改或者刪除超時(shí)設(shè)置,只需要?jiǎng)h掉上面添加的行然后執(zhí)行source ~/.bashrc 命令讓修改生效。
此外,用戶也可以運(yùn)行下面命令來禁止超時(shí):
# export TMOUT=0
或
# unset TMOUT
若你想阻止用戶修改該設(shè)置,使用下面方法代替。
方法 2:
以 root 用戶登錄。
創(chuàng)建一個(gè)名為autologout.sh的新文件。
# vi /etc/profile.d/autologout.sh
加入下面內(nèi)容:
TMOUT=100
readonly TMOUT
export TMOUT
保存并退出該文件。
為它添加可執(zhí)行權(quán)限:
# chmod +x /etc/profile.d/autologout.sh
現(xiàn)在,登出或者重啟系統(tǒng)。非活動(dòng)用戶就會(huì)在100秒后自動(dòng)登出了。普通用戶即使想保留會(huì)話連接但也無法修改該配置了。他們會(huì)在100秒后強(qiáng)制退出。
這兩種方法對(duì)本地會(huì)話和遠(yuǎn)程會(huì)話都適用(即本地登錄的用戶和遠(yuǎn)程系統(tǒng)上通過SSH登錄的用戶)。下面讓我們來看看如何實(shí)現(xiàn)只自動(dòng)登出非活動(dòng)的SSH會(huì)話,而不自動(dòng)登出本地會(huì)話。
方法 3:
這種方法,我們只會(huì)讓SSH會(huì)話用戶在一段時(shí)間不活動(dòng)后自動(dòng)登出。
編輯/etc/ssh/sshd_config文件:
# vi /etc/ssh/sshd_config
添加/修改下面行:
ClientAliveInterval 100
ClientAliveCountMax 0
保存并退出該文件。重啟sshd服務(wù)讓改動(dòng)生效。
# systemctl restart sshd
現(xiàn)在,在遠(yuǎn)程系統(tǒng)通過ssh登錄該系統(tǒng)。100秒后,ssh會(huì)話就會(huì)自動(dòng)關(guān)閉了,你也會(huì)看到下面消息:
# Connection to 192.168.13.2 closed by remote host.
Connection to 192.168.13.2 closed.
現(xiàn)在,任何人從遠(yuǎn)程系統(tǒng)通過 SSH 登錄本系統(tǒng),都會(huì)在100秒不活動(dòng)后自動(dòng)登出了。