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

Linux オペレーティング システムには、ユーザーを作成および削除し、どのユーザーがログインしているかを確認するためのコマンドがあります。ただし、システムにログインしているかどうかにかかわらず、ユーザーを一覧表示するコマンドはありません。

それでも、これをやってのける方法がいくつかあります。Linux でユーザーを一覧表示する方法を知りたい場合は、以下の手順に従ってください。

Linux ユーザー リストを確認する必要がある理由

Linux でユーザーを一覧表示する理由はいくつかあります。未使用のアカウントを見つけて削除するという点では、これは良い習慣です。セキュリティの観点からは、侵入者がユーザー アカウントを作成しないようにするための良い方法でもあります。

これは、少なくとも 1 か月に 1 回は実行する必要がある管理タスクです。企業の Linux サーバーを実行している場合は、より頻繁に実行することをお勧めします。

/etc/passwd にリストされているユーザー

Linux サーバーのユーザー アカウントはすべて、ファイル/etc/passwdにエントリがあります。各行はユーザーを表し、コロンで区切られた 7 つのフィールドがあります。フィールドは、ユーザーに関する情報を提供します。

  • ユーザー名。
  • 暗号化されたパスワード ( xは、パスワードが実際に/etc/shadowにあることを示します)
  • ユーザー ID 番号 (UID)。
  • ユーザーのグループ ID 番号 (GID)。
  • リストされている場合、ユーザーのフルネーム。
  • ユーザーのホーム ディレクトリ。
  • ログインシェル

これで、Linux 上のすべてのユーザーを一覧表示する 1 つの方法が得られました。lessコマンドを使用すると、一度に 1 画面ずつファイル全体を表示できます。

less /etc/passwd

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

特定のユーザーが Linux システムに存在するかどうかを確認する場合は、コマンドgrepを使用すると便利です。

less passwd | grep jeff

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

出力が得られない場合、そのユーザーは Linux サーバーに存在しません。

それにしてもすごい情報量です。たとえば、 awkまたはcutコマンドのいずれかを使用して、ユーザー名だけに切り詰めることができます。

awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd

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

その方がはるかに理解しやすい傾向にありますが、それでも、人間のユーザーと混在するシステムベースのユーザー アカウントをすべて表示する必要があります。

getent を使用してユーザーを一覧表示する方法

もう 1 つのコマンドgetentは、はるかに便利です。サーバーの/etc/nsswitch.confファイルで構成された任意のデータベースからのエントリが表示されます。それらの 1 つはpasswdデータベースです。getentを使用してすべての Linux ユーザーのリストを表示するには、次のようにします。

getent passwd

出力は、 lessコマンドを使用した場合とまったく同じように見えますが、Linux システム上の LDAP ユーザーがすべて一覧表示されます。繰り返しになりますが、awkコマンドとcutコマンドは、最初のフィールドであるユーザー名のみを表示するのに役立ちます。

特定のユーザーが Linux システムに存在するかどうかを確認したい場合は、getentを使用すると簡単に実行できます。

getent passwd jeff

繰り返しますが、このコマンドからの出力は、ユーザーが存在しないことを示していません。

getent のもう1 つの優れた用途は、サーバー上に存在するユーザー アカウントの数を調べることです。これは、次のようにwcコマンドを介してgetentの出力をパイプすることによって行われます。

getent passwd | wc -l

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

ご覧のとおり、私の Linux システムには合計 48 個のアカウントがあります。これを使用しているのは私だけなので、非常に興味深いのですが、これは Linux で作成されたシステム アカウントの数を示しているにすぎません。

通常のユーザーからシステム ユーザーを除外する

Linux の目には、システム ユーザーと人間のユーザーの間に違いはありません。OS をインストールするたびに、多くのシステム ユーザーが作成されます。その他のシステム ユーザーは、Web やメール サービス ソフトウェアなど、さまざまなパッケージ用に作成されます。

では、どうすれば Linux システムの通常の人間のユーザーだけを一覧表示できるでしょうか? ここで重要なのは、通常のユーザーを作成すると、その UID が特定の範囲の数値内で割り当てられることを理解することです。/etc/login.defsファイルを確認することで、通常のユーザー アカウントで使用できる UID 値の範囲を決定できます。

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

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

出力に基づいて、通常のユーザーは 1000 から 60000 の間の UID を持っている必要があることがわかります。これから、通常のユーザーのみを表示するgetentクエリを作成できます。

getent passwd {1000..60000}

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

getentは、出力を表示した後でもハングしているように見えることに注意してください。Ctrl-Cを押してプロセスを終了するか、終了するまで待つことができます。通常、 passwdデータベースの検索が完了するまでに 15 秒もかかりません。

このコマンドのより一般的なバージョンでは、さまざまなサーバーが使用するさまざまなUID_MINおよびUID_MAX値が考慮されます。

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

このコマンドでは、一度に複数のことを実行できる Linux の機能を利用しています。awkコマンドは UID_MIN と UID_MAX の値を取得し、getentコマンド内でそれらを使用します。

ここで、必要なのはユーザー名だけだとしましょう。もう一度、次のようにカットコマンドを介して出力をパイプします。

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

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

このコマンドが完了するまでに 10 ~ 15 秒かかる場合があるため、しばらくお待ちください。

Linux ユーザーを効果的に管理する

Linux システムに存在するユーザー アカウントを追跡することが重要です。従業員が退職したことがわかったら、すぐにその従業員のユーザー アカウントを削除してください。Linux ユーザーを定期的にリストアップすると、行き詰まっている可能性のあるアカウントを確実に把握するのに役立ちます。

同時に、パスワード セキュリティ ポリシーを常に把握し、ユーザーにパスワードを定期的に変更するよう促してください。

コメントを残す

CRMを購入する前に、Excelでシンプルなリードトラッキングシステムを作成する方法

CRMを購入する前に、Excelでシンプルなリードトラッキングシステムを作成する方法

CRMソフトウェアに投資する前に、表、ドロップダウンリスト、フォローアップ日、フィルター、条件付き書式設定、シンプルなピボットテーブルダッシュボードを備えた実用的なExcelリードトラッカーを作成しましょう。

家庭保育用のシンプルな印刷可能な保育出席記録シート:記録すべき内容とその理由

家庭保育用のシンプルな印刷可能な保育出席記録シート:記録すべき内容とその理由

このシンプルな印刷可能な保育出席シートは、家庭での保育の際に、到着、出発、欠席、署名、および必要な記録を記録するために使用できます。

Excel用シンプル在庫棚卸シートテンプレート:小売店向けレイアウトで迅速な照合が可能

Excel用シンプル在庫棚卸シートテンプレート:小売店向けレイアウトで迅速な照合が可能

SKU、場所、計数数量、差異、再計数、印刷対応機能を備えた、小売店向けのシンプルなExcel在庫棚卸シートを作成します。

地域ビジネス向け印刷可能な1ページマーケティング戦略テンプレート

地域ビジネス向け印刷可能な1ページマーケティング戦略テンプレート

この印刷可能な1ページ構成のマーケティング戦略テンプレートを使用して、地域の顧客層、提供する商品・サービス、チャネルミックス、予算、施策、測定可能な目標を設定しましょう。

従業員の勤務シフト表テンプレート(Excel用、自動時間計算機能付き)を無料でダウンロードできます。

従業員の勤務シフト表テンプレート(Excel用、自動時間計算機能付き)を無料でダウンロードできます。

開始/終了時刻、休憩時間の控除、夜勤処理、週ごとの合計、簡単な勤務時間計算機能などを備えた、無料の従業員シフトスケジュールをExcelで作成できます。

米国の中小サービス業向けおすすめ無料請求書作成アプリ(2026年版)

米国の中小サービス業向けおすすめ無料請求書作成アプリ(2026年版)

Zoho Invoice、Square、Wave、PayPal、Invoice Ninjaなど、2026年に米国サービス業向けに提供される最高の無料請求書作成アプリを比較してみましょう。

小規模チーム向けのシンプルな隔週給与トラッカーExcelテンプレート:初心者にも使いやすい設定

小規模チーム向けのシンプルな隔週給与トラッカーExcelテンプレート:初心者にも使いやすい設定

小規模チーム向けに、Excelでシンプルな隔週給与トラッカーを作成します。明確なシート、数式、チェック機能、そして安全な給与照合のための実用的な制限事項を盛り込みます。

Salesforceの連絡先をクリーンなExcel形式にエクスポートする方法

Salesforceの連絡先をクリーンなExcel形式にエクスポートする方法

Salesforceの連絡先をクリーンなExcelファイルにエクスポートする方法、IDとテキストフィールドを保持する方法、重複を安全に削除する方法、そしてよくあるCSVファイルのミスを回避する方法を学びましょう。

小規模請負業者向け、印刷可能なExcel形式の建設工事見積書テンプレート

小規模請負業者向け、印刷可能なExcel形式の建設工事見積書テンプレート

実用的なコストカテゴリ、数式、マークアップフィールド、印刷設定、および請負業者がすぐに使えるチェックリストを備えた、印刷可能な建設工事見積書をExcelで作成します。

Word用 印刷可能なイベント企画チェックリスト&予算テンプレート

Word用 印刷可能なイベント企画チェックリスト&予算テンプレート

Word用の印刷可能なイベント企画チェックリストと予算テンプレートを活用し、担当者、期限、コスト、ベンダー、イベント当日の準備状況を明確な品質チェック項目で管理しましょう。