作为一个Unix系统的管理员,手工巡检几乎成了工作中一个重要的部分。这里不放使用Linux的motd通告信息实现简单的信息通告,至少能省去了不少手工命令的时间。
motd即Message Of ToDay,每天的信息。大部分的固定文本信息放置在/etc/motd下,如果没有你可以直接创建一个,然后修改其中的内容制作一个主机登录Banner以便于区分多台主机。对于Ubuntu来说,特别是启用了server中“landscope管理系统”后,这里没有效果,你需要修改的文件为/etc/motd.tail。
对于部分相对比较保守的Unix版本而言剩下可供修改的并不多,只有通过/etc/issue的方法,除了使用现有的字符,issue还支持参数如下:
/l 显示终端机接口号
/m 显示内核的硬件版本
/n 显示主机名
/o 显示 域名
/r 显示操作系统的版本,类似于uname -r
/t 显示本地端时间
/s 操作系统的名称
/v 操作系统的版本
对于比较激进的操作系统(ubuntu就曾经因为motd爆出安全漏洞)那就更灵活了。
Ubuntu:
修改/etc/init.d/bootmisc.sh脚本,其中:
uname -snrvm > /var/run/motd [ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
我要加入uptime和df -h的信息就修改为:
uname -snrvm > /var/run/motd
[ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
uptime >> /var/run/motd
df -h >> /var/run/motd
重启服务:
/etc/init.d/bootmisc.sh stop
/etc/init.d/bootmisc.sh start // 不支持restart reload等操作
登录查看,成功!
其实是一个原理,方式类似:
ee /etc/rc.d/motd
uname -v | sed -e 's,^([^#]*) #(.* [1-2][0-9][0-9][0-9]).*/([^]*) $,1 (3) #2,' > ${T}
awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "n"$0}} else {print}}' < /etc/motd >> ${T}
改为:
uname -v | sed -e 's,^([^#]*) #(.* [1-2][0-9][0-9][0-9]).*/([^]*) $,1 (3) #2,' > ${T}
awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "n"$0}} else {print}}' < /etc/motd >> ${T}
uptime >> ${T}
df -h >> ${T}
重启
/etc/rc.d/motd stop; /etc/rc.d/motd start
成功!
| anyShare分享到: | |
| |

近期评论