Linux可以設置登錄前后的歡迎信息,雖然沒啥技術含量,但卻是非常實用的一個小技巧。 實現登錄消息的功能,可以修改3個文件。
1、/etc/issue 本地登陸顯示的信息,本地登錄前
2、/etc/issue.net 網絡登陸顯示的信息,登錄后顯示,需要由sshd配置
3、/etc/motd 常用於通告信息,如計划關機時間的警告等,登陸后的提示信息
我們首先來看一下/etc/issue的內容,如下圖所示:
那么那個 \r 及 \m 是什么意思呢,您可以使用man pam_issue就能夠知道:
\d //本地端時間的日期; \l //顯示當前tty的名字即第幾個tty; \m //顯示硬體的架構 (i386/i486/i586/i686...); \n //顯示主機的網路名稱; \o //顯示 domain name; \r //當前系統的版本 (相當於 uname -r) \t //顯示本地端時間的時間; \u //當前有幾個用戶在線。 \s //當前系統的名稱; \v //當前系統的版本。
至於文件/etc/motd,(motd即motd即message of today布告欄信息的縮寫) 則是在每次用戶登錄時,motd文件的內容會顯示在用戶的終端。
系統管理員可以在文件中編輯系統活動消息,例如:管理員通知用戶系統何時進行軟件或硬件的升級、何時進行系統維護等。如果shell支持中文,
還可以使用中文,這樣看起來更易於了解。/etc/motd缺點是,現在許多用戶登錄系統時選擇自動進入圖形界面,所以這些信息往往看不到。
issue與motd文件主要區別在於:當一個用戶過本地文本設備(如本地終端,本地虛擬控制台等)登錄
/etc/issue的文件內容顯示在login提示符之前,而/etc/motd內容顯示在用戶成功登錄系統之后。
issue.net文件(只針對網絡用戶)--若通過遠程本文設備(如通過ssh或telnet等)登錄,則顯示該文件的內容。
使用ssh登錄時,會不會顯示issue信息由sshd服務的sshd_config的Banner屬性 重啟 OpenSSH服務器
/etc/init.d/sshd restart配置決定,但本人在測試時發現
雖設置了Banner屬性但並未對issue.net中的\r和\m等內容進行轉義,而是直接顯示。
其中上面的三個文件,issue.net和motd文件都是在登錄后顯示,那么順序是怎么樣的呢,筆者做過一個測試,如下圖所示:
在這里筆者使用的是Putty進行登錄,我們可以發現先顯示的是issue.net文件中的內容,最后才顯示motd文件中的內容。
筆者又使用Xshell進行登錄,得出的結果一樣、都是先顯示issue.net文件內容,最后顯示motd文件的內容。中間隔着上次登錄信息。
其中不同的是:
使用Putty登錄時,當我們輸入用戶名root后,就顯示了issue.net的內容,輸入密碼后,再顯示的motd的內容。
使用Xshell登錄時,只有當我們輸入用戶名和密碼后,驗證成功了,才會依次顯示issue.net和motd文件的內容。