GNU/Linux >> Linux の 問題 >  >> Cent OS

Linuxでユーザーを一覧表示する方法

ユーザーがシステムにログインできないと言ったときにLinux管理者が実行する最初のタスク。はい、Linuxでユーザーを一覧表示する方法を知るには、ログインの問題をトラブルシューティングする必要があります。

ユーザーの作成、ユーザーの削除、ユーザーの変更、ログインユーザーの一覧表示を行うコマンドを見たことがあると思います。ここでは、Linuxでユーザーを一覧表示する方法を説明します。

/ etc/passwdファイルを使用してLinuxのユーザーを一覧表示する

覚えているかと思いますが、ユーザーを作成するとき、useraddコマンドはユーザーに関するエントリを/ etc/passwdファイルに入れます。 / etc / passwdファイルを使用すると、システムに存在するローカルユーザーを一覧表示できます。

ユーザーcat以下またはそれ以上のコマンドでユーザーを一覧表示します。

cat /etc/passwd

出力:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
webmaster:x:1999:1001::/opt/webadmin:/bin/bash
user_name:x:2000:2000:sudo user:/home/user_name:/bin/bash

/ etc/passwdファイルの各行は1人のユーザーを表します。

/ etc / passwdファイルには、コロンで区切られた7つのフィールドがあります。

  1. ユーザー名
  2. 暗号化されたパスワード(xはパスワードが/ etc / shadowファイルに保存されていることを表します)
  3. ユーザーのUID(ユーザー識別番号)
  4. ユーザーのGID(グループ識別番号)
  5. GECOSフィールド(ユーザーのフルネームまたはコメント)
  6. ユーザーのホームディレクトリ
  7. ログインシェル
通常のユーザーのUIDは、1000(新しいOS)または500(古いOS)以上です。 UIDが1000未満(または500未満)のユーザーはシステムユーザーです。

システム内のユーザー名のリストのみを表示する場合は、出力をフィルタリングするだけです。

cat /etc/passwd | awk -F: '{ print $1}'

出力:

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
postfix
chrony
sshd
webmaster
user_name

getentを使用してLinuxのユーザーを一覧表示する

getentコマンドは、/ etc/nssswitch.confで構成されたデータベースにクエリを実行してユーザーを一覧表示します。データベースには、/ etc / passwd(ローカルユーザー)とLDAPの両方が含まれています。したがって、getentは/ etc/passwdとLDAPの両方のユーザーを表示します。

Linuxユーザーのリストを取得するには、次のコマンドを実行します。

getent passwd

出力:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
webmaster:x:1999:1001::/opt/webadmin:/bin/bash
user_name:x:2000:2000:sudo user:/home/user_name:/bin/bash
gatentコマンドの出力は、/ etc/passwdファイルの内容と同様になります。システムがLDAPで構成されている場合は、さらにLDAPのユーザーが表示されます。

ユーザー名を一覧表示するためだけにawkを使用します。

getent passwd | awk -F: '{ print $1}'

出力:

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
postfix
chrony
sshd
webmaster
user_name

結論

この投稿では、Linuxシステムのユーザーを一覧表示する方法を学びました。 Linuxでのユーザーの一覧表示は非常に簡単で、ユーザーログインの問題のトラブルシューティングに必要な情報についてコマンドの出力に注意する必要があります。


Cent OS
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linuxでユーザーを一覧表示する3つの方法

  3. Linuxでのシステムユーザーの表示

  1. Linux グループ内のすべてのユーザーを一覧表示する方法は?

  2. Linux - すべてのユーザーを一覧表示する方法

  3. Linuxでシステム以外のユーザーのリストを取得するにはどうすればよいですか?

  1. LinuxGECOS情報の謎を解き明かす

  2. CentOS7でユーザーを一覧表示する方法

  3. Linux でロックされているすべてのユーザーを一覧表示するにはどうすればよいですか?