查看: 22|回覆: 0

[Ubuntu] ubuntu修改登录信息(本机和SSH登录)

[複製鏈接]

1

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-6-11
發表於 2020-2-27 12:21:00 | 顯示全部樓層 |閲讀模式

1.MOTD

1.1 什么是MOTD

  • motd是message of the day的缩写,意思是“当天的提示信息”,通常在用户成功登录到Linux后出现,该信息可以从/etc/motd文本文件中找到。
  • 提示:UNIX/Linux系统管理员也通常会把一些重要的信息写到 /etc/motd里面,以方便其他人或自己下次成功登录时需要注意什么和做什么,非常方便。
  • 一般来讲 /etc/motd是一个静态文件,里面仅仅含有安装更新的版本信息。但是ubuntu引入了update-motd框架,他可以在登陆时候动态的组装脚本(assembled from a collection of scripts)。
  • 执行/etc/update-motd.d/*下的脚本是使用的pam_motd,而这个信息则会被组合在 /run/motd.dynamic中(实际上,我发现update-motd.d中的脚本是被符号链接到motd.dynamic中,进而通过pam执行文件夹才实现动态motd)

1.2 如何修改MOTD?

  • MOTD的fragments必须存放在/etc/update-motd.d文件夹下面,而且必须是一个可执行文件。
  • 这些脚本必须命名为NN-xxxx,其中NN是一个二位数代表他们在MOTD的位置,比如你准备放在最后一个,可以直接填写99-xxx
  • 在写完bash后,必须改变为可执行文件sudo chmod +x /etc/update-motd.d/99-custom
  • 检测是否成功run-parts /etc/update-motd.d/

1.3 pam.d是什么?

本来关于MOTD的东西是由/etc/login.defs来管理的,后来由/etc/pam.d/login来管理。如下图所示:


很容易发现,一般的静态MOTD在/etc/motd中存放,而动态的MOTD在/run/motd.dynamic中存放,那么他们和/etc/update-motd.d是什么关系呢?上面讲update-motd.d中的东西会存放在motd.dynamic中,然后motd.dynamic再通过pam_motd执行。
这里的pam_motd其实就是pam_motd.so用于执行update-motd.d文件夹中可执行文件的。

因此,只需要将/etc/pam.d/login中的pam_motd.so motd=/run/motd.dynamic改为pam_motd.so motd=/etc/update-motd.d即可,或者使用符号链接也可以。(不知道为什么我的阿里服务器没有符号链接)

1.3 写一个自己的LOGO MOTD:

apt-get figlet
figlet Ssozh > /etc/Ssozh.txt
vim 92-ssozh
chmod +x ./92-ssozh
run-parts /etc/update-motd.d/
ln -s  /etc/update-motd.d/ /run/motd.dynamic

注意:figlet的内容不能放在update-motd.d中,会无法找到该文件!
其中92-ssozh中的内容:

#!/bin/sh
# Ssozh banner
cat /etc/Ssozh.txt

最终效果图:

参考博客:
https://linuxconfig.org/how-to-change-welcome-message-motd-on-ubuntu-18-04-server
http://manpages.ubuntu.com/manpages/bionic/man5/update-motd.5.html



来源:https://www.cnblogs.com/SsoZhNO-1/p/12371435.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部