![有没有办法创建带有登录详细信息的 MOTD?](https://linux22.com/image/135663/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%88%9B%E5%BB%BA%E5%B8%A6%E6%9C%89%E7%99%BB%E5%BD%95%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E7%9A%84%20MOTD%EF%BC%9F.png)
有没有办法在 MOTD 显示中显示活动的 SSH 登录详细信息?例如,我想显示连接来源的 IP 地址以及会话处于活动状态的时间。这可能吗?
附加更新:
# tty --silent && finger
Login Name Tty Idle Login Time Office Office Phone Host
root root pts/0 Jun 22 00:33 (192.168.2.2)
root root pts/1 Jun 22 00:38 (192.168.2.2)
有没有办法从上面的输出中删除 Office 和 Office Phone,以便它看起来好一点?另外,它只是说明用户登录的时间。有没有办法也显示用户登录的时间?
答案1
who
您可以使用或显示当前用户finger
。要在登录时运行其中之一,您可以将其添加到用户 shell 的启动文件中。假设您的用户运行 Bash (或其他一些读取 的 shell /etc/profile
),您可以在其中放置如下内容:
tty --silent && finger
(tty
查明 shell 是否在终端上打开。如果不进行测试,输出可能会弄乱非交互式实用程序。)
至少在 Debian/Ubuntu 上,默认情况/etc/profile
下还会运行脚本/etc/profile.d/
(文件需要以 结尾.sh
),因此您可以将命令放在一个新文件中。
另外,Ubuntu有一个专门用于动态更新MOTD文件的系统。该pam_motd
模块在 中运行脚本/etc/update-motd.d
并将其输出存储在 中/etc/motd.dynamic
,然后显示给用户。在这种情况下,它会经历通常的 MOTD 流程,因此您不需要检查tty
或执行任何操作。参见例如update-motd(5)
和更新Motd页面在 Ubuntu 维基上。