有没有办法在 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)
Run Code Online (Sandbox Code Playgroud)
有没有办法从上面的输出中删除 Office & Office Phone,让它看起来更好一点?另外,它只是说用户什么时候登录。有没有办法也显示用户登录了多少时间?
您可以使用who或显示当前用户finger。要在登录时运行其中之一,您可以将其添加到用户的 shell 的启动文件中。假设您的用户运行 Bash(或其他读取 的 shell /etc/profile),您可以在那里放置如下内容:
tty --silent && finger
Run Code Online (Sandbox Code Playgroud)
(tty找出 shell 是否在终端上打开。如果不对其进行测试,输出可能会弄乱非交互式实用程序。)
至少在 Debian/Ubuntu 上,默认情况下/etc/profile也运行脚本/etc/profile.d/(文件需要以 结尾.sh),因此您可以将命令放在那里的新文件中。
此外,Ubuntu 有一个专门用于动态更新 MOTD 文件的系统。该pam_motd模块在 中运行脚本/etc/update-motd.d并将其输出存储在 中/etc/motd.dynamic,然后将其显示给用户。在这种情况下,它会通过通常的 MOTD 流程,因此您无需检查tty或执行任何操作。参见Ubuntu wiki 上的egupdate-motd(5)和UpdateMotd 页面。
| 归档时间: |
|
| 查看次数: |
660 次 |
| 最近记录: |