Linuxシステムのすべてのユーザーを一覧表示したり、システムのユーザー数をカウントしたりしたことがありますか?ユーザーの作成、ユーザーの削除、ログインユーザーの一覧表示を行うコマンドはありますが、Linuxですべてのユーザーを一覧表示するコマンドは何ですか?
このチュートリアルでは、Linuxシステムでユーザーを一覧表示する方法を説明します。
/ etc / passwdファイルを使用してすべてのユーザーのリストを取得します#
ローカルユーザー情報は/etc/passwd
ファイルに保存されます。このファイルの各行は、1人のユーザーのログイン情報を表します。ファイルを開くには、cat
またはless
:
を使用できます。
ファイルの各行には、次の情報を含むコロンで区切られた7つのフィールドがあります。
ユーザー名awk
またはcut
コマンドを使用して、ユーザー名を含む最初のフィールドのみを出力できます。
getentコマンドを使用してすべてのユーザーのリストを取得します#
getent
コマンドは、passwd
を含む、/etc/nsswitch.conf
ファイルで構成されたデータベースのエントリを表示します。データベース。すべてのユーザーのリストを照会するために使用できます。
すべてのLinuxユーザーのリストを取得するには、次のコマンドを入力します。 :
ご覧のとおり、出力は表示時と同じです。 /etc/passwd
ファイルのコンテンツ。ユーザー認証にLDAPを使用している場合、getent
は、/etc/passwd
ファイルとLDAPデータベースの両方のすべてのLinuxユーザーを表示します。
awk
またはcut
を使用して、ユーザー名を含む最初のフィールドのみを出力することもできます。
Linuxシステムにユーザーが存在するかどうかを確認します#
これで、すべてのユーザーを一覧表示する方法がわかりました。 Linuxボックスにユーザーが存在するかどうかを確認するには、リストをgrep
コマンドにパイプすることで、ユーザーのリストをフィルタリングするだけです。
たとえば、 jack
という名前のユーザーがLinuxシステムに存在するかどうかを確認するには、次のコマンドを使用できます。
ユーザーが存在する場合、上記のコマンドはユーザーのログインを出力します 情報。ユーザーが存在しないことを意味する出力はありません。
次に示すように、grep
コマンドを使用せずにユーザーが存在するかどうかを確認することもできます。
以前と同じように、ユーザーが存在する場合、コマンドはユーザーのログイン情報を表示します。
ユーザーアカウントの数を確認する場合システム上で、getent passwd
出力をwc
コマンドにパイプします。
上記の出力からわかるように、私のLinuxシステムには33のユーザーアカウントがあります。
システムユーザーと通常のユーザー#
システムと通常の(通常の)ユーザーの間に実際の技術的な違いはありません。通常、システムユーザーは、OSと新しいパッケージをインストールするときに作成されます。場合によっては、一部のアプリケーションで使用されるシステムユーザーを作成できます。
通常のユーザーとは、rootまたはsudo権限を持つ別のユーザーによって作成されたユーザーです。通常、通常のユーザーには実際のログインシェルとホームディレクトリがあります。
各ユーザーにはUIDと呼ばれる数値のユーザーIDがあります。 useradd
コマンドで新しいユーザーを作成するときに指定されていない場合、UIDは/etc/login.defs
ファイルから
およびUID_MIN
の値。
UID_MIN
および
値については、次のコマンドを使用できます:
上記の出力から、すべての通常のユーザーは1000〜60000のUIDを持つ必要があることがわかります。最小値と最大値がわかれば、システム内のすべての通常ユーザーのリストを照会できます。
以下のコマンドは、Linuxシステムのすべての通常のユーザーを一覧表示します。
システムのUID_MIN
とUID_MIN
の値が異なる場合があるため、上記のコマンドのより一般的なバージョンは次のようになります。
ユーザー名のみを出力する場合は、出力をcut
コマンドにパイプするだけです。
結論#
このチュートリアルでは、Linuxシステムのユーザーを一覧表示してフィルタリングする方法と、システムと通常のLinuxの主な違いを学びました。 ユーザー。
Ubuntu、CentOS、RHEL、Debian、LinuxMintなどのすべてのLinuxディストリビューションに同じコマンドが適用されます。