本を読む

読書やコンピュータなどに関するメモ

Ubuntuでmotdメッセージをいじる

最初にお断り:これは雑誌用の原稿としていちど書いたものの、使いどころがなくて見送ったビギナー向け小ネタの再利用です。

 Linuxサーバーにsshなどからログインすると、motd(message of the day)と呼ばれるメッセージが表示されます。

Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-24-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Tue May  8 21:12:27 JST 2012

  System load:  0.0               Processes:           65
  Usage of /:   8.1% of 180.68GB  Users logged in:     0
  Memory usage: 3%                IP address for eth0: 192.168.1.1
  Swap usage:   0%

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

 何度もログインして見ていると、面倒になってくるかもしれません。motdのメッセージは/etc/motdに書かれています。なので、このファイルを消せばメッセージが消えます。

 …というのも工夫がないので、もう少し調べてみます。

 Ubuntu 12.04では、見てみると、/etc/motdは/var/run/motdへのシンボリックリンクになっています。ちなみに、/var/runは/runへのシンボリックリンクです。

$ readlink /etc/motd
/var/run/motd
$ readlink /var/run
/run

 /runディレクトリは、従来の/var/runとかをtmpfsで統合するディレクトリです。最近のLinuxディストリビューションが共通で採用しつつあります。

 本題に戻ると、Ubuntu 12.04の/run/motdは、起動したとき(正確には/runが用意されたとき)と、ログインするたびに動的に生成されます。ログインするたびの処理は、PAMのpam_motd.soモジュールへのパッチに埋め込まれています。わかりやすいところで、起動時の処理を見てみます。

$ grep /run/motd /etc/init/mounted-run.conf
    [ -d "/etc/update-motd.d" ] && run-parts --lsbsysinit /etc/update-motd.d > /run/motd &

 /etc/update-motd.dに置かれたスクリプトをrun-partsで順に実行しているようです。素のUbuntu Server 12.04で見てみます。

$ ls /etc/update-motd.d
00-header     50-landscape-sysinfo  91-release-upgrade  98-reboot-required
10-help-text  90-updates-available  98-fsck-at-reboot   99-footer

 motdのメッセージのパーツごとらしきスクリプトが、上から順に並んでいます。このスクリプトを消したりいじったりすれば、motdの内容を変えられます。

参考:update-motd(5)

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/1015-5421ca6e

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad