登录即见:打造服务器欢迎信息,提升用户体验
在日常运维工作中,我们经常会通过SSH
登录服务器。通常登录后,系统会显示一些简单的欢迎信息,但这些信息可能过于基础,无法快速提供关键的系统状态。而通过定制化登录欢迎界面(通常称为 MOTD,即Message of the Day
),可以让系统登录更具价值,第一时间呈现服务器的基本信息,极大提升运维效率。
📝什么是MOTD
MOTD
是Message of the Day
的缩写,意为“每日消息”。它是一种在用户登录到服务器时显示的一段信息,主要用于提供系统管理员希望传达的重要信息或系统的基本状态。
在Linux
系统中,MOTD
通常是用户通过SSH
或终端登录系统后看到的第一条信息。它的内容可以是静态的,也可以是动态生成的,具体根据需求而定。
📝MOTD的主要作用
-
显示系统信息
-
传递重要通知
-
个性化欢迎信息
-
提升用户体验
📝MOTD的工作机制
- 静态 MOTD
- 内容固定,通常存储在
/etc/motd
文件中,系统会在用户登录时直接读取并显示。
- 内容固定,通常存储在
- 动态 MOTD
- 通过脚本动态生成内容,例如系统状态、更新提醒等,通常位于
/etc/update-motd.d/
目录中。每次用户登录时,系统会运行这些脚本,并生成新的MOTD
信息。
- 通过脚本动态生成内容,例如系统状态、更新提醒等,通常位于
📝如何查看和修改MOTD
- 查看当前
MOTD
cat /etc/motd
如果系统使用动态MOTD
,则内容可能会实时更新。
- 修改静态
MOTD
编辑 /etc/motd
文件:
sudo vim /etc/motd
添加自定义信息后保存。
- 创建动态
MOTD
脚本
在 /etc/update-motd.d/
目录下创建脚本,例如
sudo nano /etc/update-motd.d/99-custom
编写脚本逻辑后,赋予执行权限:
sudo chmod +x /etc/update-motd.d/99-custom
📝综合案例
这个场景中,每次登录服务器后,希望能够显示一些概要信息。具体效果如下图所示:
查看sshd_config
配置文件中PrintMotd
的值是否为yes
,如果不是则需要修改yes
。
sudo sed -i '/^#\?PrintMotd/c\PrintMotd yes' /etc/ssh/sshd_config
变更过sshd_config
配置文件需要重启SSH
服务。
systemctl restart sshd
在/etc/update-motd.d/
目录下创建文件,文件名自定义,内容就是要动态显示的信息。并赋予执行的权限。如下所示:
root@ansible:/etc/update-motd.d# vim 99-sysinfo
root@ansible:/etc/update-motd.d# chmod +x 99-sysinfo
root@ansible:/etc/update-motd.d# ll
total 36
drwxr-xr-x 2 root root 4096 Jan 27 08:05 ./
drwxr-xr-x 76 root root 4096 Jan 26 01:12 ../
-rwxr-xr-x 1 root root 1220 Dec 5 2019 00-header*
-rwxr-xr-x 1 root root 1157 Dec 5 2019 10-help-text*
-rwxr-xr-x 1 root root 4677 Dec 5 2019 50-motd-news*
-rwxr-xr-x 1 root root 299 Dec 18 2019 91-release-upgrade*
-rwxr-xr-x 1 root root 4767 Jan 27 08:05 99-sysinfo*
通过执行如下命令,检查update-motd.d
目录下的脚本是否能执行成功:
run-parts /etc/update-motd.d
上述命令执行成功后,会输出如下图的结果:
完成了上述配置后,下一次登录后就会展示脚本执行的返回的结果。如下图所示:
📝总结
一个简单而实用的登录欢迎界面,不仅提升了系统的可用性,还能让用户在登录时一目了然地掌握系统状态。通过配置静态或动态的MOTD,可以实现高效和美观的服务器登录体验。动手尝试定制你的MOTD,让每次登录都成为一种享受吧!
感兴趣的小伙伴可以关注公众号私信回复脚本链接,即可获取该文章用到脚本文件。
推荐阅读
- 自动化压缩新姿势!教你用Ansible Archive模块高效管理文件
- 提升运维效率:Ansible systemd 模块操作技巧,让你告别繁琐命令行!
- Ansible fetch模块详解:轻松从远程主机抓取文件
- 告别手动编辑:如何用Python快速创建Ansible hosts文件?
- 一分钟学会Ansible cron模块,高效管理你的定时任务
- 打造更安全的Linux系统:玩转PAM配置文件