3. /etc/passwd

Linux では、ユーザー名は人間が読みやすいラベルですが、システムはユーザーを一意のユーザー ID(UID)で識別します。ユーザー名と UID のマッピングは、ユーザー管理の重要なコンポーネントである/etc/passwdファイルに保存されています。

その内容を表示するには、簡単なコマンドを使用できます。

cat /etc/passwd

このファイルは、すべてのシステムユーザーとその詳細情報のリストを表示します。各行は 1 つのユーザーアカウントを表します。

/etc/passwd フィールドの分解

このファイル内の典型的な行、多くの場合最初の行は次のようになります。

root:x:0:0:root:/root:/bin/bash

このrootユーザーのエントリには、コロン(:)で区切られた 7 つのフィールドが含まれています。Linux における/etc/passwdの構造を理解することが、ユーザー管理の鍵となります。

各フィールドの内訳を見てみましょう。

  1. ユーザー名: ユーザーのログイン名(例:root)。
  2. パスワード: ユーザーの暗号化されたパスワードのプレースホルダー。セキュリティ上の理由から、実際のパスワードはここには保存されません。
    • xは、暗号化されたパスワードが/etc/shadowファイルに格納されていることを示します。
    • *(アスタリスク)は、アカウントがロックされており、ログインに使用できないことを意味します。
    • 空のフィールドは、ユーザーがパスワードを持っていないことを意味します。
  3. ユーザー ID (UID): ユーザーの一意の数値識別子。rootユーザーの UID は常に0です。
  4. グループ ID (GID): ユーザーのプライマリグループの数値識別子。
  5. GECOS フィールド: 伝統的にユーザーのフルネーム、電話番号、オフィスの場所などの追加情報を含むコメントフィールド。カンマ区切りです。
  6. ホームディレクトリ: ユーザーのホームディレクトリへの絶対パス(例:/root)。
  7. デフォルトシェル: ユーザーがログイン時に実行されるデフォルトのコマンドラインインタープリタ(例:/bin/bash)。

システムユーザーと特殊アカウント

/etc/passwdファイルを調べると、人間のユーザーに属さないアカウントが多くあることに気づくでしょう。これらは、特定のサービスやプロセスを制限された権限で実行するために使用されるシステムアカウントであり、システムのセキュリティを向上させます。例えば、daemonユーザーはバックグラウンドのデーモンプロセスを実行するために使用されます。

/etc/passwd ファイルの編集

技術的には、テキストエディタやvipwコマンドを使用して/etc/passwdファイルを直接編集できますが、これは強く推奨されません。手動での編集は構文エラーを引き起こしやすく、システムから締め出されたり、不安定性を引き起こしたりする可能性があります。

ユーザーアカウントを管理するには、常にuseraddusermoduserdelなどの専用のコマンドラインユーティリティを使用する方が安全で信頼性が高くなります。これらのツールは、ファイルを正しく変更し、関連するすべての設定を処理するように設計されています。

ログインして学習進捗を保存

サインイン

演習

知識を定着させるために、これらの実践的なラボを試してください。これらは、現実世界のシナリオでユーザー ID とアカウント管理の概念を適用し、Linux ユーザー管理に対する自信を築くのに役立ちます。

  1. useradd、usermod、userdel を使用した Linux ユーザーアカウントの管理 - 新しいアカウントの作成と保護から、アカウントの変更と削除まで、ユーザー管理のライフサイクル全体を練習します。
  2. groupadd、usermod、groupdel を使用した Linux グループの管理 - 新しいグループの作成やユーザーメンバーシップの変更など、グループ管理のコアコマンドラインユーティリティに関する実践的な経験を積みます。
  3. Linux でのユーザーアカウントと Sudo 権限の設定 - Linux システムのセキュリティを強化するために、ユーザーアカウントと sudo 権限を管理するための重要な技術を学びます。

クイズ

ユーザーアカウントがロックされ、ログインに使用できない場合、`/etc/passwd`ファイルのパスワードフィールドではどのように示されますか?必要な文字のみを使用して回答してください。