linux配置超時不操作自動退出登入TMOUT

lizhiqiang666發表於2020-12-03

系統為CentOS 7,一次無意操作在/etc/profile末尾增加了TMOUT=90,然後系統就總是一會沒操作就自動退出登入,不僅ssh自動退出,在本地使用也自動退出,很麻煩,查了一下,原來是啟動了系統空閒等待時間,TMOUT=90意思是90秒無操作就自動退出登入。

1 取消系統空閒等待時間

然後我需要取消這個設定,既然我是在/etc/profile中增加了TMOUT=90,那麼我把它刪除掉不就行了?
刪除了之後,使/etc/profile配置檔案生效

source /etc/profile 

退出登入

logout

重新登陸,然而,過了一會兒,還是會自動退出登入,檢視set

set

發現結果中有一項:TMOUT=90,然後我用unset命令取消TMOUT

unset TMOUT

重新登入後再次檢視set結果,發現結果中還是有一項:TMOUT=90,檢視 /etc/profile 檔案, /etc/profile 檔案中沒有TMOUT配置。但是系統還是會自動退出登入,煩煩煩,然後使用如下命令:

export TMOUT=9999999
readonly TMOUT

然而並沒有什麼用,重新登入後檢視set結果,還是TMOUT=90,還是會自動退出登入!!!!
最終,我把上面的兩行命令寫到/etc/profilez的末尾,

vi /etc/profile
#開啟檔案後,在末尾增加下面兩行內容,然後儲存退出。
export TMOUT=0    #0代表永不自動退出
readonly TMOUT   # 將值設定為readonly 防止使用者更改,在shell中無法修改TMOUT

然後退出登陸,再次登入,再次檢視set結果,發現結果中有一項為

TMOUT=0

OMG!!!!!!終於成功了,再也沒有自動退出的現象了。

2 設定系統空閒等待時間

反之,如果想讓系統超時未操作自動退出登入,可以修改/etc/profile檔案

export TMOUT=600   #600秒無操作自動退出登入
readonly TMOUT    # 將值設定為readonly 防止使用者更改,在shell中無法修改TMOUT

也可以通過命令的方式設定,在shell中輸入如下程式碼即可實現600秒無操作自動退出登入:

export TMOUT=600    
readonly TMOUT 

如果之前已經在/etc/profile檔案中設定了readonly TMOUT ,需要先將/etc/profile檔案中的readonly TMOUT 註釋掉或刪除掉,再輸入上面的命令。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章