今日私のサーバーでこの動作を見つけて、何が起こっているのかをもっと詳しく知りたいです。
SSH経由でRHEL 6サーバーに接続している間にコマンドを実行すると、w
FROMフィールドにSSHクライアントのIPの代わりにホスト名を印刷しようとします。たとえば、ping
私は8.8.8.8をDNSとして使用し、google.comの確認はうまくいきます。
したがって、クライアントのエントリを含めるようにSSHサーバーで/ etc / hostsを編集しました。ホスト名でクライアントをpingすると正常に動作しますが、w
FROMフィールドにはまだIPアドレスが表示されます。
ログアウトして再度ログインしてw
再発行すると、FROMフィールドに/ etc / hostsで設定したホスト名でSSHクライアントが一覧表示されます。
私の質問はなぜログアウト/ログインするのですか?再度ログインした後、どのような変更や更新が発生しましたか?
私はRHEL 6ベースの最新バージョン、bash-4.1.2-33.el6_7.1を使用しています。
答え1
w
/var/run/utmp
誰がログインしているのか、どこでログインしたのかを知るには読んでください。utmp
ユーザーがログインまたはログアウトすると、履歴が更新されます。
/etc/hosts
DNSまたはIPエントリがない場合ユーザーがログインしたときその後、ログインプロセス(この場合はsshd)はホスト名フィールドを空白のままにしますutmp
。
ログアウトして/etc/hosts
エントリを追加して再度ログインすると、sshd
IPを検索して今回ホスト名を見つけたため、Hostnameフィールドに正しいデータが追加されましたutmp
。
man 5 utmp
ファイル形式の詳細については、次を参照してください。/var/run/utmp