3.4.6. 機密ユーザー情報の表示
システムでユーザーとグループを管理する場合は、システム上の設定とアクティビティーを監視するための適切なツールが必要です。Red Hat Enterprise Linux 6 は、lslogins コマンドラインユーティリティーを提供します。このユーティリティーは、ユーザーまたはグループの包括的な概要を提供します。これは、ユーザーまたはグループの設定だけでなく、システム上のアクティビティーも対象です。
lslogins の一般的な構文は以下のとおりです。
lslogins [OPTIONS]
OPTIONS は、1 つ以上の利用可能なオプションとその関連パラメーターになります。利用可能なオプションとその使用の完全なリストは、
lslogins
(1)の man ページ、または lslogins --help コマンドの出力を参照してください。
lslogins ユーティリティーは、選択したオプションに基づいて、さまざまな形式で汎用情報を提供します。以下の例では、最も基本的な組み合わせと、最も便利な組み合わせを紹介します。
オプションを指定せずに lslogins コマンドを実行すると、システム上のすべてのシステムおよびユーザーアカウントのデフォルト情報が表示されます。具体的には、UID、ユーザー名、および GECOS 情報、およびシステムへの最後にログインしたユーザーの情報、およびパスワードによるロックまたはログインが無効になっているかどうかなどです。
例3.13 システムにあるすべてのアカウントに関する基本情報の表示
~]# lslogins
UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul21/16:20 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
29 rpcuser 0 1 RPC Service User
32 rpc 0 1 Rpcbind Daemon
38 ntp 0 1
42 gdm 0 1
48 apache 0 1 Apache
68 haldaemon 0 1 HAL daemon
69 vcsa 0 1 virtual console memory owner
72 tcpdump 0 1
74 sshd 0 1 Privilege-separated SSH
81 dbus 0 1 System message bus
89 postfix 0 1
99 nobody 0 1 Nobody
113 usbmuxd 0 1 usbmuxd user
170 avahi-autoipd 0 1 Avahi IPv4LL Stack
173 abrt 0 1
497 pulse 0 1 PulseAudio System Daemon
498 saslauth 0 1 Saslauthd user
499 rtkit 0 1 RealtimeKit
500 jsmith 0 0 10:56:12 John Smith
501 jdoe 0 0 12:13:53 John Doe
502 esmith 0 0 12:59:05 Emily Smith
503 jeyre 0 0 12:22:14 Jane Eyre
65534 nfsnobody 0 1 Anonymous NFS User
単一ユーザーに関する詳細情報を表示するには、lslogins LOGIN コマンドを実行します。ここで、LOGIN は UID またはユーザー名になります。以下の例は、
John Doe
のアカウントと、システム上のアクティビティーに関する詳細情報を表示します。
例3.14 1 つのアカウントに関する詳細情報の表示
~]# lslogins jdoe
Username: jdoe
UID: 501
Gecos field: John Doe
Home directory: /home/jdoe
Shell: /bin/bash
No login: no
Password is locked: no
Password no required: no
Login by password disabled: no
Primary group: jdoe
GID: 501
Supplementary groups: users
Supplementary group IDs: 100
Last login: 12:13:53
Last terminal: pts/3
Last hostname: 192.168.100.1
Hushed: no
Password expiration warn interval: 7
Password changed: Aug01/02:00
Maximal change time: 99999
Password expiration: Sep01/02:00
Selinux context: unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
--logins=LOGIN
オプションを使用すると、UID またはユーザー名の一覧として指定されたアカウントのグループに関する情報を表示できます。--output=COLUMNS
オプションの指定。COLUMNS は利用可能な出力パラメーターのリストであるため、lslogins コマンドの出力をカスタマイズできます。たとえば、以下のコマンドは、ユーザー root、jsmith、jdoe、および esmith のログインアクティビティーを表示します。
例3.15 ユーザーのグループに関する特定情報の表示
~]# lslogins --logins=0,500,jdoe,esmith \ > --output=UID,USER,LAST-LOGIN,LAST-TTY,FAILED-LOGIN,FAILED-TTY UID USER LAST-LOGIN LAST-TTY FAILED-LOGIN FAILED-TTY 0 root 500 jsmith 10:56:12 pts/2 501 jdoe 12:13:53 pts/3 502 esmith 15:46:16 pts/3 15:46:09 ssh:notty
lslogins ユーティリティーは、システムとユーザーアカウントを区別します。クエリー内のシステムアカウントに対応するには、
--system-accs
オプションを使用します。ユーザーアカウントに対応するには、--user-accs
を使用します。たとえば、以下のコマンドは、すべてのユーザーアカウントの補助グループとパスワードの有効期限に関する情報を表示します。
例3.16 すべてのユーザーアカウントの補助グループとパスワードの有効期限に関する情報の表示
~]# lslogins --user-accs --supp-groups --acc-expiration
UID USER GID GROUP SUPP-GIDS SUPP-GROUPS PWD-WARN PWD-MIN PWD-MAX PWD-CHANGE
PWD-EXPIR
0 root 0 root 7 99999 Jul21/02:00
500 jsmith 500 jsmith 1000,100 staff,users 7 99999 Jul21/02:00
501 jdoe 501 jdoe 100 users 7 99999 Aug01/02:00
Sep01/02:00
502 esmith 502 esmith 100 users 7 99999 Aug01/02:00
503 jeyre 503 jeyre 1000,100 staff,users 7 99999 Jul28/02:00
Sep01/02:00
65534 nfsnobody 65534 nfsnobody Jul21/02:00
ユーザーのニーズに従って lslogins コマンドの出力をフォーマットする機能により、lslogins はスクリプトでの使用や自動処理に理想的なツールになります。たとえば、以下のコマンドは最後のログインの日時を表す単一の文字列を返します。この文字列は、さらなる処理のために別のユーティリティーへの入力として渡すことができます。
例3.17 見出しのない単一の情報の表示
~]# lslogins --logins=jsmith --output=LAST-LOGIN --time-format=iso | tail -1
2014-08-06T10:56:12+0200