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

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 ユーザーを定期的にリストアップすると、行き詰まっている可能性のあるアカウントを確実に把握するのに役立ちます。

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

Tags: #HOW-TO

[解決済み]錆がクラッシュし続ける問題を修正する方法は?

[解決済み]錆がクラッシュし続ける問題を修正する方法は?

Rustに直面すると、起動時または読み込み中にクラッシュし続けます。その後、指定された修正に従って、Rushクラッシュの問題を簡単に停止します…

Intel Wireless AC 9560 が動作しない場合の 9 つの修正 (コード 10)

Intel Wireless AC 9560 が動作しない場合の 9 つの修正 (コード 10)

Intel Wireless AC 9560 コード 10 の修正方法について詳しく解説します。Wi-Fi および Bluetooth デバイスでのエラーを解決するためのステップバイステップガイドです。

「不明なソフトウェア例外(0xe0434352)」を修正するにはどうすればよいですか?

「不明なソフトウェア例外(0xe0434352)」を修正するにはどうすればよいですか?

Windows 10および11での不明なソフトウェア例外(0xe0434352)エラーを修正するための可能な解決策を見つけてください。

[フルガイド]Steamのファイル権限の欠落エラーを修正する方法は?

[フルガイド]Steamのファイル権限の欠落エラーを修正する方法は?

Steamのファイル権限がないエラーにお困りですか?これらの8つの簡単な方法で、Steamエラーを修正し、PCでゲームを楽しんでください。

Windows 10でアプリとプログラムが自動的に最小化される問題を修正する7つの方法

Windows 10でアプリとプログラムが自動的に最小化される問題を修正する7つの方法

PC での作業中に Windows 10 が自動的に最小化される問題の解決策を探しているなら、この記事ではその方法を詳しく説明します。

学生が学校でブロックされることを気にせずに最もよくプレイするゲーム トップ 10

学生が学校でブロックされることを気にせずに最もよくプレイするゲーム トップ 10

ブロックされることを心配せずに学生が学校で最もよくプレイするゲーム トップ 10。オンラインゲームの利点とおすすめを詳しく解説します。

ワードウォール

ワードウォール

Wordwallは、教師が教室のアクティビティを簡単に作成できるプラットフォームです。インタラクティブな体験で学習をサポートします。

[解決済み]Ntoskrnl.Exe高CPU使用率Windows10

[解決済み]Ntoskrnl.Exe高CPU使用率Windows10

この記事では、ntoskrnl.exeの高いCPU使用率を解決するための簡単な方法を紹介します。

VACを修正すると、8つの簡単な方法でゲームセッションエラーを確認できませんでした

VACを修正すると、8つの簡単な方法でゲームセッションエラーを確認できませんでした

VACを修正するための解決策を探していると、CSでのゲームセッションエラーを確認できませんでした:GO?次に、与えられた修正に従います

INTERNAL_POWER_ERROR(0x000000A0)を修正する方法

INTERNAL_POWER_ERROR(0x000000A0)を修正する方法

簡単に取り除くために、ソリューションを1つずつ実行し、Windows 10、8.1、8、および7のINTERNAL_POWER_ERRORブルースクリーンエラー(0x000000A0)を修正します。