bash 的進站與歡迎訊息: /etc/issue, /etc/motd
bash 的進站與歡迎訊息: /etc/issue, /etc/motd
蝦密! bash 也有進站畫面與歡迎訊息喔?真假?真的啊! 還記得在終端機介面 (tty1 ~ tty6) 登入的時候,會有幾行提示的字串嗎?那就是進站畫面啊! 那個字串寫在哪裡啊?呵呵!在 /etc/issue 裡面啊!先來看看:
[dmtsai@study ~]$ cat /etc/issue
\S
Kernel \r on an \m
|
鳥哥是以完全未更新過的 CentOS 7.1 作為範例,裡面預設有三行,較有趣的地方在於 \r 與 \m。 就如同 $PS1 這變數一樣,issue 這個檔案的內容也是可以使用反斜線作為變數取用喔!你可以 man issue 配合 man agetty 得到底下的結果:
issue 內的各代碼意義 |
\d 本地端時間的日期; \l 顯示第幾個終端機介面; \m 顯示硬體的等級 (i386/i486/i586/i686...); \n 顯示主機的網路名稱; \O 顯示 domain name; \r 作業系統的版本 (相當於 uname -r) \t 顯示本地端時間的時間; \S 作業系統的名稱; \v 作業系統的版本。 |
做一下底下這個練習,看看能不能取得你要的進站畫面?
例題:
如果你在 tty3 的進站畫面看到如下顯示,該如何設定才能得到如下畫面?
答:
CentOS Linux 7 (Core) (terminal: tty3)注意,tty3 在不同的 tty 有不同顯示,日期則是再按下 [enter] 後就會所有不同。 很簡單,用 root 的身份,並參考上述的反斜線功能去修改 /etc/issue 成為如下模樣即可(共五行):
|
你要注意的是,除了 /etc/issue 之外還有個 /etc/issue.net 呢!這是啥?這個是提供給 telnet 這個遠端登入程式用的。 當我們使用 telnet 連接到主機時,主機的登入畫面就會顯示 /etc/issue.net 而不是 /etc/issue 呢!
至於如果您想要讓使用者登入後取得一些訊息,例如您想要讓大家都知道的訊息, 那麼可以將訊息加入 /etc/motd 裡面去!例如:當登入後,告訴登入者, 系統將會在某個固定時間進行維護工作,可以這樣做 (一定要用 root 的身份才能修改喔!):
[root@study ~]# vim /etc/motd Hello everyone, Our server will be maintained at 2015/07/10 0:00 ~ 24:00. Please don't login server at that time. ^_^ |
那麼當你的使用者(包括所有的一般帳號與 root)登入主機後,就會顯示這樣的訊息出來:
Last login: Wed Jul 8 23:22:25 2015 from 127.0.0.1 Hello everyone, Our server will be maintained at 2015/07/10 0:00 ~ 24:00. Please don't login server at that time. ^_^ |