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ディストリビューションに同じコマンドが適用されます。