需创建可执行欢迎脚本并配置登录自动调用,同时禁用系统默认motd及pam、ssh的motd输出。具体步骤:1. 创建并授权/usr/local/bin/login-welcome.sh;2. 在用户~/.profile(或~/.zprofile)末尾添加脚本路径;3. 删除/etc/motd并注释/etc/pam.d/login中pam_motd.so行;4. 将/etc/ssh/sshd_config中printmotd设为no并重启sshd。

在统信UOS系统中登录终端或通过SSH连接时,希望每次都能看到自定义的欢迎语(如单位名称、系统版本、当前时间等),需绕过默认静态motd机制,改用可执行脚本动态输出内容。
创建并授权欢迎脚本
这一步操作起来很简单,直接把脚本写进系统级路径即可。
1、使用sudo权限创建脚本文件:sudo vim /usr/local/bin/login-welcome.sh
2、输入以下内容(文字部分可按需修改):
#!/bin/bash<br>printf "==================================\n"<br>printf "%-4s Welcome to UOS Enterprise\n"<br>printf "%-8s Version `cat /etc/os-release | grep VERSION_ID | cut -d'=' -f2 | tr -d '\"'`\n"<br>printf "%-6s Host: `hostname -s`\n"<br>printf "%-7s Time: `date +'%Y-%m-%d %H:%M:%S'`\n"<br>printf "==================================\n"
3、赋予执行权限:sudo chmod +x /usr/local/bin/login-welcome.sh——没有这步脚本无法运行,会静默失败。
配置登录时自动执行
脚本写好后,必须让系统在用户登录时主动调用它,否则不会显示任何内容。
方法一:仅对root用户生效
1、编辑root的shell初始化文件:sudo vim /root/.profile
2、在文件末尾添加一行:/usr/local/bin/login-welcome.sh
方法二:对所有普通用户生效
1、进入任意用户家目录,例如:cd /home/username
2、编辑其profile:vim ~/.profile
3、同样在末尾追加:/usr/local/bin/login-welcome.sh
注意:如果用户使用的是zsh而非bash,应编辑~/.zprofile而非~/.profile。
禁用系统默认motd干扰
不处理默认motd会导致两段欢迎信息叠加,排版错乱甚至覆盖关键字段。
第一步:删除静态motd文件
sudo rm -f /etc/motd
第二步:确认已清空
ls -l /etc/motd 应返回“No such file or directory”
第三步:屏蔽PAM模块自动注入
1、编辑PAM登录配置:sudo vim /etc/pam.d/login
2、找到含pam_motd.so的行(通常在第90行附近)
3、在该行开头插入#注释掉整行,例如:# session optional pam_motd.so motd=/run/motd.dynamic noupd
【这一步不可跳过,否则即使/etc/motd为空,PAM仍会尝试读取并报错】
关闭SSH服务的motd输出
SSH连接时若仍看到旧欢迎语,说明sshd服务未同步禁用motd。
1、编辑SSH服务配置:sudo vim /etc/ssh/sshd_config
2、查找PrintMotd关键字,将其值设为no;若该行被注释,则取消注释并修改:PrintMotd no
3、重启SSH服务使配置生效:sudo systemctl restart sshd











