X

Linux ssh 選端登入訊息 查看、修改

Ubuntu Linux (Server版)在 ssh 登入後, 會秀出下述訊息: (cat /etc/motd # 亦可看到)

Linux desktop 2.6.28-14-server #47-Ubuntu SMP Sat Jul 25 02:03:55 UTC 2009 x86_64

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/

  System information as of 二  1月  5 23:00:48 CST 2010

  System load: 0.02               Memory usage: 30%   Processes:       152
  Usage of /:  9.4% of 732.45GB   Swap usage:   26%   Users logged in: 0

  => There is 1 zombie process.

  Graph this data and manage this system at https://landscape.canonical.com/

*** System restart required ***
No mail.
Last login: Tue Jan  5 11:49:45 2010 from user-desktop.local

但是在 Debian Linux 或 一般Ubuntu Desktop 都沒看到這些訊息, 於是來找找是怎麼產生的.

註: /etc/motd 是已經產生好的文字內容, 由此看不出任何東西.

ssh 遠端登入訊息

  • ssh 遠端登入的訊息內容, 是由 /etc/motd 呈現的.
  • 於每次登入時, /etc/motd 這個檔案就會被修改一次.(由此可見不是由 crontab 修改, 而是於每次登入時, 自動修改此檔案)

ssh 遠端登入 執行步驟

由於是每次登入時, 自動修改 /etc/motd, 於是找到下述:

  • vim /etc/pam.d/sshd

    # Print the message of the day upon successful login.
    session    optional     pam_motd.so # [1]

  • 看起來是 PAM 做的, 詳見: pam_motd - display the motd file

pam_motd.so 執行程式

pam_motd.so 會執行哪些程式就沒去追了, 由 motd 倒是直接找到產生 /etc/motd 的程式、執行順序. 

於 /etc/update-motd.d/ 的目錄, 找到 00 ~ 99 開頭的檔案, 於是試著執行看看(從 00-header 執行到 99-reboot-required), 就會看到 /etc/motd 的資訊了.

註: 從 00 執行到 99, /etc/motd 就產生出來了. 🙂

  • ls /etc/update-motd.d/

    00-header
    50-landscape-sysinfo
    90-updates-available
    91-release_upgrade
    99-reboot-required

關於 update-motd 的筆記

  1. 00-header - 此程式會執行 "uname -snrvm" 取得 CPU、與系統資訊 等.
  2. /usr/share/landscape/landscape-sysinfo.wrapper # 取得系統資源狀態、zombile 等訊息.
  3. /etc/motd.tail # 結尾補上 ubuntu 的廣告資訊. XD
  4. 註1: /usr/share/landscape/landscape-sysinfo.wrapper 的內容主要是 由此 /usr/bin/landscape-sysinfo 的 python script 產生的.
  5. 註2: /usr/bin/landscape-sysinfo 需安裝 landscape-common 的套件 (apt-get install landscape-common)
Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post