/etc/update-motd.d脚本更新后旧版本仍执行的问题求助
/etc/update-motd.d脚本更新后旧版本仍执行的问题求助
嗨,我来帮你搞定这个问题!这种情况在修改MOTD(登录提示信息)脚本后很常见,完全不用重启系统就能解决,给你几个实用的办法:
手动触发MOTD生成:默认情况下系统会定期或登录时自动生成MOTD,但有时候缓存没及时更新。直接运行这个命令就能立刻执行所有/etc/update-motd.d/下的脚本,生成最新的提示内容:
run-parts /etc/update-motd.d/执行完后,下次SSH登录就能看到新修改的内容了。
清理MOTD缓存文件:有些系统会把生成好的MOTD缓存起来,比如/run/motd.dynamic或者/var/cache/update-motd/目录下的文件。你可以手动删除这些缓存,让系统下次登录时重新生成:
sudo rm /run/motd.dynamic # 如果存在缓存目录的话也一起清理 sudo rm -rf /var/cache/update-motd/*检查PAM配置:看看/etc/pam.d/sshd或者/etc/pam.d/login里的pam_motd配置,如果有
noupdate参数,系统会跳过自动更新MOTD的步骤。找到类似这样的行:session optional pam_motd.so noupdate把
noupdate去掉,保存后,下次登录就会自动加载新的脚本内容了。重启SSHD服务:如果上面的方法都没见效,试试重启SSH服务——这比重启系统轻量太多,而且只会影响新的SSH连接,已经登录的会话完全不受影响:
sudo systemctl restart sshd
另外还要留意下你个人目录下的配置文件,比如/.bashrc、/.profile或者~/.bash_profile,如果里面有手动输出旧MOTD内容的命令,那修改系统脚本也没用,得把那些内容改掉才行。
备注:内容来源于stack exchange,提问作者0___________
相关产品推荐
相关产品推荐

