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

Linux システムにログインしているユーザーを特定する 4 つの方法

この記事は Hari Haran によって書かれました。
 
システム管理者は、特定の時点で誰がシステム上にいるかを知りたい場合があります。また、彼らが何をしているのか知りたいと思うかもしれません。この記事では、Linux システムを使用している人を特定する 4 つの異なる方法を確認します。

1. w

を使用して、ログインしているユーザーの実行中のプロセスを取得します

w コマンド ログインしたユーザー名とそのユーザーが何をしているかを表示するために使用されます。情報は /var/run/utmp ファイルから読み取られます。 w コマンドの出力には、次の列が含まれます:

  • ユーザーの名前
  • ユーザーのマシン番号または tty 番号
  • リモート マシンのアドレス
  • ユーザーのログイン時間
  • 空き時間 (使用できない時間)
  • tty に接続されたすべてのプロセスが使用した時間 (JCPU 時間)
  • 現在のプロセスで使用された時間 (PCPU 時間)
  • 現在ユーザーによって実行されているコマンド

 
w コマンドには次のオプションを使用できます:

  • -h ヘッダー情報を無視します
  • -u 負荷平均を表示します (稼働時間出力)
  • -s JCPU、PCPU、およびログイン時間を削除します。

 

$ w
 23:04:27 up 29 days,  7:51,  3 users,  load average: 0.04, 0.06, 0.02
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ramesh   pts/0    dev-db-server        22:57    8.00s  0.05s  0.01s sshd: ramesh [priv]
jason    pts/1    dev-db-server        23:01    2:53   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.00s  0.00s w

$ w -h
ramesh   pts/0    dev-db-server        22:57   17:43   2.52s  0.01s sshd: ramesh [priv]
jason    pts/1    dev-db-server        23:01   20:28   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.03s  0.00s w -h

$ w -u
 23:22:06 up 29 days,  8:08,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ramesh   pts/0    dev-db-server        22:57   17:47   2.52s  2.49s top
jason    pts/1    dev-db-server        23:01   20:32   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.03s  0.00s w -u

$ w -s
 23:22:10 up 29 days,  8:08,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM               IDLE WHAT
ramesh   pts/0    dev-db-server        17:51  sshd: ramesh [priv]
jason    pts/1    dev-db-server        20:36  -bash
john     pts/2    dev-db-server         1.00s w -s

2. who および users コマンドを使用して、ログインしているユーザーのユーザー名とプロセスを取得します

指揮者 現在ログインしているユーザー名のリストを取得するために使用されます。who コマンドの出力には、次の列が含まれます:ユーザー名、tty 番号、日付と時刻、マシン アドレス。

$ who
ramesh pts/0        2009-03-28 22:57 (dev-db-server)
jason  pts/1        2009-03-28 23:01 (dev-db-server)
john   pts/2        2009-03-28 23:04 (dev-db-server)

 
現在ログインしているすべてのユーザー名のリストを取得するには、次を使用します:

$ who | cut -d' ' -f1 | sort | uniq
john
jason
ramesh

 

ユーザー コマンド

ユーザー コマンド 現在のホストに現在ログインしているすべてのユーザー名を出力するために使用されます。これは、help と version 以外にオプションがないコマンドの 1 つです。ユーザーが「n」個の端末を使用している場合、ユーザー名は出力に「n」回表示されます。

$ users
john jason ramesh

3. whoami を使用して、現在ログインしているユーザー名を取得します

うーみ コマンドは、ログインしているユーザー名を出力するために使用されます。

$ whoami
john

 
whoami コマンド id -un と同じ出力が得られます 以下に示すように:

$ id -un
john

 
私は誰ですか コマンドは、ログインしているユーザー名と現在の tty の詳細を表示します。このコマンドの出力には、ログインしているユーザー名、tty 名、現在時刻と日付、およびこのユーザーが接続を開始した IP アドレスの列が含まれます。

$ who am i
john     pts/2        2009-03-28 23:04 (dev-db-server)

$ who mom likes
john     pts/2        2009-03-28 23:04 (dev-db-server)

Warning: Don't try "who mom hates" command.

また、他のユーザーに対して su を実行すると、このコマンドはログインしているユーザー名の詳細に関する情報を提供します。

4.ユーザーのログイン履歴をいつでも取得

最後のコマンド 特定のユーザー名のログイン履歴を提供します。このコマンドに引数を指定しない場合、すべてのユーザーのログイン履歴が一覧表示されます。デフォルトでは、この情報は /var/log/wtmp ファイルから読み取られます。このコマンドの出力には、次の列が含まれます:

  • ユーザー名
  • Tty デバイス番号
  • ログイン日時
  • ログアウト時間
  • 総作業時間
$ last jason
jason   pts/0        dev-db-server   Fri Mar 27 22:57   still logged in
jason   pts/0        dev-db-server   Fri Mar 27 22:09 - 22:54  (00:45)
jason   pts/0        dev-db-server   Wed Mar 25 19:58 - 22:26  (02:28)
jason   pts/1        dev-db-server   Mon Mar 16 20:10 - 21:44  (01:33)
jason   pts/0        192.168.201.11  Fri Mar 13 08:35 - 16:46  (08:11)
jason   pts/1        192.168.201.12  Thu Mar 12 09:03 - 09:19  (00:15)
jason   pts/0        dev-db-server   Wed Mar 11 20:11 - 20:50  (00:39

 
この記事は Hari Haran によって書かれました。 彼は bk Systems (p) Ltd で働いており、オープン ソースへの貢献に関心があります。 The Geek Stuff は、あなたのヒントやゲスト記事を歓迎します。


Linux
  1. procps-ngを使用してターミナルでLinuxシステムを監視します

  2. Linuxでrootアカウントを無効にする4つの方法

  3. 良性のユーザーをシステムから追い出す方法は?

  1. Linuxオペレーティングシステムをデータベースのようにクエリします

  2. Linuxで通常のユーザーログインをブロックまたは無効にする方法

  3. Linux Mint / LinuxMint12のシングルユーザーモードでシステムを回復する

  1. Linux端末を分割する5つの方法

  2. Linuxデスクトップにユーザーを追加する方法

  3. Linux ファイル システムの種類 (Ext2 または Ext3 または Ext4) を識別する 5 つの方法