聊聊 Linux 登陆提示信息 motd 文件
最近和朋友聊到 Linux 的登陆提示信息的事情,linux 是通过 motd 文件来控制的,这个文件在 CentOS 系统中是默认存在 /etc/motd
的,只是默认文件内容是空,在 Ubuntu 系统中默认是开机后生成的,位于 /var/run/motd.dynamic
。
motd 是 message of to day 的缩写,直翻就是 今日信息。
Ubuntu 的 motd 文件
Ubuntu 的登陆和欢迎信息控制/etc/issue 和/etc/motd
登陆 linux 的欢迎界面可由/etc/issue 和/etc/motd 控制。/etc/issue 文件的使用方法与/etc/motd 文件相差不大,它们的主要区别在于:当一个网络用户或通过串口登录系统上时,/etc/issue 的文件内容显示在 login 提示符之前,而/etc/motd 内容显示在用户成功登录系统之后。
登陆前显示信息:$cat /etc/issueUbuntu 10.04.2 LTS \n \l
issue 内各代码意义:
\d 本地端时间日期;\l 显示第几个终端机接口;\m 显示硬件等级 (i386/i486/i586/i686...);\n 显示主机网络名称;\o 显示 domain name;\r 操作系统版本 (相当于 uname -r)\t 显示本地端时间;\s 操作系统名称;\v 操作系统版本。可以通过修改/etc/issue 内容制作自己喜欢的登陆信息。这里还要注意的是,除了 /etc/issue 外还有个 /etc/issue.net。这个是提供给 telnet 这个进程登录程序用的。当我们使用 telnet 连接主机时,主机的登入画面就会显示 /etc/issue.net 而不是 /etc/issue 。
登陆后显示信息:
$cat /etc/motd
Linux *** 2.6.32-32-generic-pae #62-Ubuntu SMP Wed Apr 20 22:10:33 UTC 2011 i686 GNU/Linux
Ubuntu 10.04.2 LTS
Welcome to Ubuntu!
Documentation: https://help.ubuntu.com/
System information as of Sun Jul 10 10:33:12 CST 2011
System load: 0.0 Processes: 148
Usage of /: 1.5% of 129.08GB Users logged in: 0
Memory usage: 30% IP address for eth1: 1.1.1.1Swap usage: 0%
Graph this data and manage this system at https://landscape.canonical.com/
这里显示很多系统信息,都是怎么得来和更新的呢?ubuntu 与别的 linux 不同,直接修改/etc/motd 文件重登录后无效。因为这里/etc/motd 是一个符号链接,指向/var/run/motd,应该是一个启动后在生成的文件。在版本 10.04 中,找到生成的脚本在目录/etc/update-motd.d/中,那几个有序号的文件就是,包括 00-header,20-cpu-checker ,90-updates-available, 98-reboot-required,10-help-text,50-landscape-sysinfo,91-release-upgrade,99-footer。修改这几个文件,可以得到自己想要的结果。
修改后用:sudo run-parts /etc/update-motd.d 去执行就会立即见到效果,而不用反复注销登录。
版权声明: 本文为 InfoQ 作者【耳东】的原创文章。
原文链接:【http://xie.infoq.cn/article/88800872113b7be18cf732132】。未经作者许可,禁止转载。
评论