Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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