Linuxのwhoコマンドは、システムにログインしているすべてのユーザーを一覧表示します。使い方はとても簡単です。
コマンドラインにwhoと入力するだけで、Linuxシステムに現在ログインしているすべてのユーザーが表示されます。
[email protected]:~# who
root pts/0 2020-02-03 06:48 (152.72.29.73)
john pts/1 2020-02-03 07:02 (187.41.92.90)
jane pts/2 2020-02-03 07:02 (252.142.106.85)
システムに現在ログインしているユーザーのみが表示されることに注意してください。 compgenのようなLinuxシステム上のすべてのユーザーを表示する方法は他にもあります。
whoコマンドには、ログに記録されたユーザーに関するその他の特定の情報を取得するためのいくつかのオプションがあります。
Linuxでwhoコマンドを使用する
whoコマンドの構文は次のとおりです。
who [options] [filename]
whoコマンドがオプションなしでどのような情報を表示するかはすでに見てきました。それがどのようなオプションを提供するか見てみましょう。
通常の情報に加えて、ユーザーのアイドル時間を印刷することもできます。ユーザーが一定期間何も入力しなかった場合、それはアイドル時間として反映されます。
who -u
以下の出力でわかるように、ユーザーjohnは2分3秒間アイドル状態になっています。
[email protected]:~# who -u
root pts/0 2020-02-03 06:48 . 10669 (152.72.29.73)
john pts/2 2020-02-03 07:02 02:03 31528 (187.41.92.90)
この情報で何ができますか?実用的な使用法は、一定時間以上アイドル状態のユーザーを自動的に切断することにより、追加のセキュリティレイヤーを実装することです。
ユーザー名(およびその数)のみを表示します
-qオプションを使用すると、ログに記録されたユーザーとその数のみを表示できます。
[email protected]:~# who -q
root john jane
# users=3
これは、ログに記録されたユーザーの数を除いて、「userscommand」の出力に似ています。
ユーザーがmesgなどのコマンドラインツールを使用してLinuxターミナルで互いにメッセージを送信できることをご存知ですか?もちろん、そのようなメッセージを受信するかどうかはユーザー次第です。
-Tオプションを使用して、ユーザーにメッセージを送信できるかどうかを確認できます :
who -T
以下の出力で、+はyesを意味し、–はnoを意味します。 ?が表示されている場合は、不明を意味します。
[email protected]:~# who -T
root - pts/0 2020-02-03 06:48 (152.72.29.73)
john + pts/2 2020-02-03 07:02 (187.41.92.90)
一種のwhoamiの代替。ユーザー情報が表示されますが、自分自身(つまり、現在の端末に関連付けられているユーザー)のみが表示されます。
who -m
uptimeコマンドとやや似ていますが、-bオプションを使用してシステムが最後に起動したときの情報を取得できます。 whoコマンドの:
who -b
ご覧のとおり、私のテストサーバーは2019年12月19日の09:41に最後に起動されました。
[email protected]:~# who -b
system boot 2019-12-19 09:41
ログに記録されたユーザーのホスト名を出力します
これは、同じサブネットワーク上のユーザーに対して機能する可能性があります。 –ルックアップオプションを使用 、ログオンしているユーザーのホスト名を表示できます。
Linuxファイルシステム階層では、ランタイム情報とログが保存されていることをご存知でしょう。
Whoコマンドは、/ var / run/utmpから情報をフェッチします。他のログファイルを指定して、さまざまな情報を取得できます。
たとえば、ファイル/var/log/wtmpを使用すると、過去のログインに関する情報を取得できます。
[email protected]:~# who /var/log/wtmp
root pts/0 2020-02-03 06:48 (152.72.29.73)
jane pts/1 2020-02-03 07:02 (252.142.106.85)
john pts/2 2020-02-03 07:02 (187.41.92.90)
jane pts/1 2020-02-03 07:12 (252.142.106.85)
jane pts/1 2020-02-03 08:55 (252.142.106.85)
同様に、/ var / log / btmpファイルを使用して、失敗したすべてのログイン試行を確認できます。
[email protected]:~# who /var/log/btmp
もちろん、システムがこれらの情報をログに記録するように構成されているかどうかによって異なります。
最後に…
出力の最初の行として見出しを追加する-Hのようなオプションがさらにいくつかあります。マニュアルページからいつでも探索できます。
私が考えるものを、whoコマンドの重要な例としてリストしました。この簡単なLinuxコマンドチュートリアルが気に入っていただければ幸いです。