はじめに
Linux OS マルチユーザー特性により、1つのシステムで同時に複数のユーザーを使用できるという点でユニークです。ただし、すべてのユーザーを追跡することは不可欠です。
この記事では、複数のコマンドを取得してすべてのLinuxユーザーを一覧表示します ログイン情報と一緒に。これらのコマンドはCentOS、Ubuntu、で機能します Arch Linux、およびその他のLinuxディストリビューション。
前提条件
- インストールされ実行されているLinuxディストリビューション
- sudo権限を持つユーザー
- 端末/コマンドラインへのアクセス
すべてのLinuxユーザーを一覧表示、2つのオプション
/ etc/passwdファイルを使用してLinuxのすべてのユーザーを一覧表示する
ローカルユーザーの詳細は、 / etc / passwdにあります。 ファイル。ファイルに含まれるすべての行には、1人のユーザーの情報が含まれています。
2つのオプションがあります。
etc / passwdを開きます 次のコマンドを入力してファイルを作成します:
cat etc/passwd
または、 less
を使用することもできます コマンド:
less etc/passwd
getentを使用してすべてのLinuxユーザーを一覧表示します コマンド
/etc/nsswitch.confで構成されたデータベースエントリ ファイルには、すべてのユーザー名とログイン情報を含むpasswdデータベースが含まれています。
このデータを抽出するには、次のコマンドを使用します:
getent passwd
両方のオプション1 およびオプション2 すべてのユーザーとそのログイン情報が表示されます。
各行は1人のユーザーを表します 7つあります (7)フィールド。
フィールドは:で区切られます (コロン)および各行には次の情報が含まれます:
1.ユーザー名
2.暗号化されたパスワード( x で表されます) 、 / etc / shadowにあります ファイル)
3.ユーザーID番号( UID と呼ばれます) )。
4.ユーザーグループID( GID と呼ばれます) )。
5.ユーザーのフルネーム
6.ユーザーのホームディレクトリ
7.ログインシェル(デフォルトでは bin / bash に設定されています) )
Linuxユーザー名のみを一覧表示する方法
各ユーザーに関連するすべての情報が必要ない場合は、ユーザー名のみを一覧表示できます。 システム上。各ユーザーの最初のフィールド(ユーザー名)だけを表示する方法は2つあります。
オプション1 :awkまたはcutコマンドを使用します。
ユーザー名のみを一覧表示するには、次の2つのコマンドのいずれかを使用できます。
awk –F: ‘{ print $1}’ /etc/passwd
cut –d: –f1 /etc/passwd
オプション2 : getent
を使用する awk
を使用したコマンド およびcut
。
getent
を使用して、追加情報なしでユーザー名を読み取って表示するには コマンドを実行するには、次のコマンドを実行します。
getent passwd | awk -F: ‘{ print $1}’
または、次のコマンドを使用します:
getent passwd | –d: –f1
既存のLinuxユーザーを検索する方法
getent
コマンドを使用すると、ユーザーがシステムに存在するかどうかを確認することもできます。
次の2つのコマンドのいずれかが、その情報を提供します。
getent passwd | grep username
getent passwd username
ユーザーが存在する場合は、ログイン情報が表示されます。一方、そのようなユーザーがいない場合、出力はありません。
たとえば、次の画像では、クエリは exampleという名前のユーザーかどうかを示しています。 存在します。出力は、そのようなユーザーが存在することを証明します。
システムユーザーと通常ユーザー
システムユーザー 通常のユーザーを作成するものです。したがって、この場合、システムユーザーがルートになります。このユーザーは、Linuxオペレーティングシステムを最初にインストールしたときに作成されます。さらに、特定のアプリケーションのシステムユーザーを作成できます。
一方、通常のユーザー root(またはsudo権限を持つユーザー)が作成するすべてのユーザーです。通常の各ユーザーとシステムユーザーには、実際のログインシェル、ホームディレクトリ、およびユーザーID(UID)番号があります。ユーザーID番号は、最小値と最大値の間の範囲で自動的に付与されます。
UID_MINとUID_MAXを確認する方法
通常のユーザーのUID範囲を確認する場合は、次のコマンドでgrepを使用します。
grep –E”^UID_MIN|^UID_MAX” /etc/login.defs
出力は、すべての通常のユーザーが1000(UID_MIN)から6000(UID_MAX)の範囲のUIDを持っていることを示しています。
通常のユーザーを一覧表示する方法
これらの番号を念頭に置いて、次のコマンドを使用して、その範囲内のすべてのユーザーのリストを要求します。
getent passwd {1000..6000}
次の画像に示すように、クエリにはすべての通常のユーザーが一覧表示されます。この例では、指定された範囲に2人の通常のユーザーがいます。