Justin Asked: 2012-12-19 20:09:14 +0800 CST2012-12-19 20:09:14 +0800 CST 2012-12-19 20:09:14 +0800 CST 是否可以将命令放入 /etc/motd? 772 我可以将 shell 命令放在/etc/motd登录横幅文件中吗?我努力了: $(uptime) 和 `uptime` 这可能吗? linux 3 个回答 Voted Best Answer Læti 2012-12-21T08:43:12+08:002012-12-21T08:43:12+08:00 /etc/motd只读不执行,所以从技术上讲,你不能把shell命令放在那里。 但是,在登录时执行 shell 脚本可能会产生相同的结果。这通常是通过调整/etc/profile每次用户登录时执行的脚本来实现的。一个有用的做法是将要执行的命令放在一个名为的脚本中,/etc/motd.sh并从中调用此脚本/etc/profile,通常在它的末尾。 Wtower 2015-06-27T00:55:27+08:002015-06-27T00:55:27+08:00 在Ubuntu服务器中,有一个名为update-motdfrom package的程序libpam-modules: UNIX/Linux 系统管理员经常通过在文件 /etc/motd 中维护文本来向控制台和远程用户传达重要信息,该文件在交互式 shell 登录时由 pam_motd(8) 模块显示。 传统上,此文件是静态文本,通常由发行版安装并且仅在发行版升级时更新,或者由本地管理员使用相关信息覆盖。 Ubuntu 引入了 update-motd 框架,通过该框架,motd(5) 在登录时从一组脚本中动态组装。 这个脚本集合位于/etc/update-motd.d/. 有关详细信息,请参阅此wiki 页面。 /etc/motd生成, 而不是在登录时运行脚本的另一种方法是使用 cron 作业。当然,它不一样,但我过去有时会遇到这种方法。但是请注意,这种方法也已被使用update-motd,但由于遇到问题而被放弃。您可以在此处找到有关此的更多信息。 Greg Dubicki 2020-02-23T16:39:01+08:002020-02-23T16:39:01+08:00 对于Centos 7服务器,我建议使用我的update-motd.dUbuntu 端口。 与其他解决方案不同,它使动态 MOTD 实际上只显示一次,当您通过控制台 SSH/登录时(例如,其他解决方案使其在您打开新screen窗口时显示)。 安装它: yum install https://github.com/gdubicki/centos-pam-with-update-motd/releases/download/1.1.8-1022.3/pam-1.1.8-1022.el7.x86_64.rpm 搭配使用: 删除默认的 static /etc/motd。 使 SSHD 不在您的& reload服务中显示带有PrintMotd no, Banner none, UsePAM yes(和可选PrintLastLog no)行的静态 MOTD 。/etc/ssh/sshd_configsshd 将此行添加到您的/etc/pam.d/sshd: session optional pam_motd.so motd=/run/motd.dynamic。 将您的脚本添加到/etc/update-motd.d,就像在 Ubuntu 上一样 请参阅https://github.com/gdubicki/centos-pam-with-update-motd以获取最新信息。
/etc/motd
只读不执行,所以从技术上讲,你不能把shell命令放在那里。但是,在登录时执行 shell 脚本可能会产生相同的结果。这通常是通过调整
/etc/profile
每次用户登录时执行的脚本来实现的。一个有用的做法是将要执行的命令放在一个名为的脚本中,/etc/motd.sh
并从中调用此脚本/etc/profile
,通常在它的末尾。在Ubuntu服务器中,有一个名为
update-motd
from package的程序libpam-modules
:这个脚本集合位于
/etc/update-motd.d/
. 有关详细信息,请参阅此wiki 页面。/etc/motd
生成, 而不是在登录时运行脚本的另一种方法是使用 cron 作业。当然,它不一样,但我过去有时会遇到这种方法。但是请注意,这种方法也已被使用update-motd
,但由于遇到问题而被放弃。您可以在此处找到有关此的更多信息。对于Centos 7服务器,我建议使用我的
update-motd.d
Ubuntu 端口。与其他解决方案不同,它使动态 MOTD 实际上只显示一次,当您通过控制台 SSH/登录时(例如,其他解决方案使其在您打开新
screen
窗口时显示)。安装它:
搭配使用:
/etc/motd
。PrintMotd no
,Banner none
,UsePAM yes
(和可选PrintLastLog no
)行的静态 MOTD 。/etc/ssh/sshd_config
sshd
/etc/pam.d/sshd
:session optional pam_motd.so motd=/run/motd.dynamic
。/etc/update-motd.d
,就像在 Ubuntu 上一样请参阅https://github.com/gdubicki/centos-pam-with-update-motd以获取最新信息。