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)
上記の出力からオフィスとオフィスの電話を削除してより見やすくする方法はありますか?また、ユーザーがログインした時間だけが表示されます。ユーザーがログインした時間を表示する方法はありますか?
答え1
who
現在のユーザーを使用または表示できますfinger
。ログイン時にこれらのいずれかを実行するには、ユーザーシェルの起動ファイルに追加するだけです。ユーザーがBash(または他の読み取りシェル/etc/profile
)を実行していると仮定すると、次の内容をそこに配置できます。
tty --silent && finger
(tty
シェルが端末に開いていることを確認してください。テストしないと、出力は非対話型ユーティリティを混乱させる可能性があります。)
少なくとも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 Wikiから。