システム管理者としての最も重要なタスクの 1 つは、システムを監視して、セキュリティ侵害を示している可能性のある疑わしいアクティビティを監視し、それに対処することです。複数回のログイン失敗など、セキュリティ違反の兆候がないかログイン アクティビティを評価する必要があります。
注意 :/var/log/messages などのファイルを確認すると、ログイン アクティビティに関する情報も得られます。ログイン アクティビティを監視するには、次のコマンドを使用できます。
誰
who コマンド 現在システムにログインしているユーザーや、最終ログイン時刻などの情報を表示します。
-H などのオプションを使用できます (列見出しを表示)
-r (現在のランレベル)
-a (ほとんどのオプションで提供される情報を表示します)。
たとえば、who -H と入力すると、次のような情報が返されます:
# who -H NAME LINE TIME COMMENT user pts/0 2017-12-14 09:58
同様に、コマンド「who -a」は以下のような出力を表示します。
# who -a system boot 2017-12-14 09:51 LOGIN ttyS0 2017-12-14 09:52 1103 id=tyS0 LOGIN tty1 2017-12-14 09:52 1102 id=tty1 run-level 3 2017-12-14 09:53 user + pts/0 2017-12-14 09:58 . 1164
w
「w」 ‘ コマンド 現在マシン上にいるユーザーとそのプロセスに関する情報を表示します。最初の行には、現在の時刻、システムが実行されている時間、現在ログオンしているユーザーの数、および過去 1、5、および 15 分間のシステム負荷の平均に関する情報が含まれています。
最初の行の下には、ログイン名、TTY 名、リモート ホスト、ログイン時間、アイドル時間、JCPU、PCPU、およびユーザーの現在のプロセスのコマンド ラインを表示する各ユーザーのエントリがあります。以下は、w コマンドの出力例です。
# w 11:05:37 up 1:14, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user pts/0 09:58 1:04m 0.38s 1.74s login -- user user pts/1 11:05 1.00s 0.03s 0.15s login -- user
JCPU 時間は、tty に接続されたすべてのプロセスによって使用される時間です。過去のバックグラウンド ジョブは含まれませんが、現在実行中のバックグラウンド ジョブは含まれます。 PCPU 時間は、
What フィールドで名前が付けられた現在のプロセスによって使用された時間です。 -h (ヘッダーを表示しない)、-s (ログイン時間、JCPU、PCPU を表示しない)、-V (バージョン情報を表示する) などのオプションを使用できます。
指
finger コマンドは、ローカルおよびリモートのシステム ユーザーに関する情報を表示します。デフォルトでは、現在ローカル ホストにログインしている各ユーザーについて、次の情報が表示されます。
1.ユーザーのログイン名
2.ユーザーの氏名
3.関連端末名
4.アイドル時間
5.ログイン時刻 (およびどこから)
-l (長い形式) などのオプションを使用できます および -s (短い形式) .たとえば、「finger -s」と入力すると、次のような情報が返されます:
# finger -s Login Name Tty Idle Login Time Office Office Phone Host user pts/0 1:18 Dec 14 09:58 user pts/1 Dec 14 11:05
# finger -l Login: user Name: Directory: /home/user Shell: /bin/bash On since Thu Dec 14 09:58 (EST) on pts/0 1 hour 18 minutes idle On since Thu Dec 14 11:05 (EST) on pts/1 1 second idle No mail. No Plan.
最後
最後のコマンドは、/var/log/wtmp 以降にログインおよびログアウトしたユーザーのリストを表示します。 ファイルが作成されました。最後のコマンドは、/var/log/wtmp ファイル (または -f で指定されたファイル) を検索します。 オプション)、ファイルが作成されてからログイン (およびログアウト) したすべてのユーザーのリストを表示します。ユーザーの名前と TTY を指定して、それらのエントリの情報のみを表示できます。
-n (n は表示する行数)、-a (最後の列にホスト名を表示)、-x (システムのシャットダウン エントリとランレベルの変更を表示) などのオプションを使用できます。
たとえば、last -ax と入力すると、次のような情報が返されます:
# last -ax user pts/0 Sun Dec 17 00:05 still logged in runlevel (to lvl 3) Sun Dec 17 00:04 - 00:09 (00:05) 3.10.0-693.11.1.el7.x86_64 reboot system boot Sun Dec 17 00:03 - 00:09 (00:05) 3.10.0-693.11.1.el7.x86_64 shutdown system down Thu Dec 14 13:05 - 00:03 (2+10:58) 3.10.0-693.11.1.el7.x86_64 user pts/1 Thu Dec 14 11:05 - down (02:00) user pts/0 Thu Dec 14 09:58 - down (03:06)
最終ログ
lastlog コマンドは、最後のログイン ログ ファイル (/var/log/lastlog) の内容をフォーマットして出力します。ログイン名、ポート、最終ログイン時刻が表示されます。
オプションを指定せずにコマンドを入力すると、数値 ID でソートされたエントリが表示されます。 -u login_name などのオプションを使用できます (指定したユーザーのみに情報を表示) および -h (1 行のヘルプ メッセージを表示します)。ユーザーが一度もログインしたことがない場合、メッセージ **ログインしていません** ポートと時刻の代わりに が表示されます。たとえば、lastlog と入力すると、次のような情報が返されます:
# lastlog Username Port From Latest root pts/0 Sun Dec 17 00:05:43 -0500 2017 bin **Never logged in** daemon **Never logged in** adm **Never logged in** .... chrony **Never logged in** ec2-user **Never logged in** user pts/0 Sun Dec 17 00:05:35 -0500 2017