ユーザーがシステムにログインできないと言ったときに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つのフィールドがあります。
- ユーザー名
- 暗号化されたパスワード(xはパスワードが/ etc / shadowファイルに保存されていることを表します)
- ユーザーのUID(ユーザー識別番号)
- ユーザーのGID(グループ識別番号)
- GECOSフィールド(ユーザーのフルネームまたはコメント)
- ユーザーのホームディレクトリ
- ログインシェル
システム内のユーザー名のリストのみを表示する場合は、出力をフィルタリングするだけです。
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/bashgatentコマンドの出力は、/ 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でのユーザーの一覧表示は非常に簡単で、ユーザーログインの問題のトラブルシューティングに必要な情報についてコマンドの出力に注意する必要があります。