您好,登錄后才能下訂單哦!
小編給大家分享一下Linux上如何實現讓一段時間不活動的用戶自動登出功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在 Linux 上實現一段時間后自動登出非活動用戶
有三種實現方法。讓我們先來看第一種方法。
方法 1:
編輯 ~/.bashrc 或 ~/.bash_profile 文件:
$ vi ~/.bashrc
或,
$ vi ~/.bash_profile
將下面行加入其中:
TMOUT=100
這會讓用戶在停止動作 100 秒后自動登出。你可以根據需要定義這個值。保存并關閉文件。
運行下面命令讓更改生效:
$ source ~/.bashrc
或,
$ source ~/.bash_profile
現在讓會話閑置 100 秒。100 秒不活動后,你會看到下面這段信息,并且用戶會自動退出會話。
timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.
該設置可以輕易地被用戶所修改。因為,~/.bashrc 文件被用戶自己所擁有。
要修改或者刪除超時設置,只需要刪掉上面添加的行然后執行 source ~/.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
保存并退出該文件。重啟 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 秒不活動后自動登出了。
以上是“Linux上如何實現讓一段時間不活動的用戶自動登出功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。