ログイン情報でMOTDを生成する方法はありますか?

ログイン情報でMOTDを生成する方法はありますか?

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から。

関連情報