この記事は 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 は、あなたのヒントやゲスト記事を歓迎します。