GNU/Linux >> Linux の 問題 >  >> Linux

Whoコマンドでログに記録されたユーザー情報を確認する方法

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コマンドチュートリアルが気に入っていただければ幸いです。


Linux
  1. Linuxpmapコマンドでプロセスのメモリ使用量を確認する方法

  2. Linuxでuseraddを使用してユーザーを管理する方法

  3. Linuxでユーザーとグループを操作する方法

  1. Linuxでユーザーを一覧表示する方法、すべてのユーザーを一覧表示するコマンド

  2. 方法:FreeBSDユーザー管理

  3. Linuxでパスワードを確認するには?

  1. Linuxでwhoコマンドを使用する方法と例

  2. Linuxでユーザーを一覧表示する方法

  3. Linuxでユーザーを作成する方法(useraddコマンド)