ホームページ > 記事 > システムチュートリアル > Linuxの/etc/passwdファイルの詳細説明
Linux システムでは、各ユーザーの /etc/passwd ファイルに対応するレコード行があり、これらのレコード行にはユーザーの基本的な属性が含まれていることをご存知ですか。システム管理者は、ユーザーを管理するためにこのファイルに頻繁に変更を加えるのが一般的な仕事です。
その内容は次の例に似ています:
上記の例から、/etc/passwd 内のレコードの行がユーザーに対応し、レコードの各行がコロン (:) で 7 つのフィールドに区切られていることがわかります。その形式と具体的な意味以下の通り: # ##
ユーザー名: パスワード: ユーザー識別番号: グループ識別番号: 解説説明: ホームディレクトリ: ログインシェル
「ユーザー名」
ユーザーアカウントを表す文字列。通常、長さは 8 文字以内で、大文字、小文字、および/または数字で構成されます。ここではコロンが区切り文字であるため、ログイン名にコロン (:) を含めることはできません。互換性を保つため、ログイン名にドット文字 (.) を含めたり、ハイフン (-) やプラス記号 () で始まらないようにすることをお勧めします。######"パスワード"######
一部のシステムでは、暗号化されたユーザー パスワードが保存されます。このフィールドにはユーザーのパスワードの暗号化された文字列のみが保存され、プレーン テキストは保存されませんが、/etc/passwd ファイルはすべてのユーザーが読み取り可能であるため、これには依然としてセキュリティ上のリスクがあります。したがって、多くの Linux システム (SVR4 など) は現在、シャドウ テクノロジーを使用して実際の暗号化されたユーザー パスワードを /etc/shadow ファイルに保存し、特別なパスワードのみを /etc/passwd ファイルのパスワード フィールドに保存しています。 「x」または「*」として。「ユーザー識別番号」
は整数で、ユーザーを識別するためにシステムによって内部的に使用されます。通常、ユーザー名と 1 対 1 に対応します。複数のユーザー名に対応するユーザー識別番号が同じ場合、システム内部では同じユーザーとみなされますが、パスワード、ホーム ディレクトリ、ログイン シェルなどが異なる場合があります。通常、ユーザー識別番号の値の範囲は 0 ~ 65535 です。0 はスーパー ユーザー root の識別番号、1 ~ 99 は管理アカウントとしてシステムによって予約されており、一般ユーザーの識別番号は 100 から始まります。 Linux システムでは、この制限は 500 です。
「グループ識別番号」
フィールドには、ユーザーが属するユーザー グループが記録されます。これは、/etc/group ファイル内のレコードに対応します。
「注釈の説明」
フィールドには、ユーザーの本名、電話番号、住所などのユーザーの個人情報が記録されます。このフィールドは実際には使用されません。このフィールドの形式は、異なる Linux システムでは均一ではありません。多くの Linux システムでは、このフィールドには任意のコメント説明テキストが保存され、finger コマンドの出力として使用されます。
「メインディレクトリ」
はユーザーの開始作業ディレクトリです。これは、ユーザーがシステムにログインした後に配置されるディレクトリです。ほとんどのシステムでは、各ユーザーのホーム ディレクトリは同じ特定のディレクトリ内に編成されており、ユーザーのホーム ディレクトリの名前がユーザーのログイン名になります。
各ユーザーは、自分のホーム ディレクトリに対する読み取り、書き込み、および実行 (検索) 権限を持ち、このディレクトリに対する他のユーザーのアクセス権限は、特定の状況に応じて設定されます。ユーザーがログインすると、ユーザーの操作をカーネルに送信するプロセスが開始されます。このプロセスは、コマンド インタープリタまたは特定のプログラム、つまりシェルであり、ユーザーがシステムにログインした後に実行されます。システム。シェルは、ユーザーと Linux システムの間のインターフェイスです。 Linux シェルには多くの種類があり、それぞれに異なる特性があります。
一般的に使用されるものには、sh (BourneShell)、csh (CShell)、ksh (KornShell)、tcsh (TENEX/TOPS-20typeCShell)、bash (BourneAgainShell) などが含まれます。システム管理者は、システムの状態とユーザーの習慣に基づいてユーザーのシェルを指定できます。シェルを指定しない場合、システムは sh をデフォルトのログイン シェルとして使用します。つまり、このフィールドの値は /bin/sh です。ユーザーのログイン シェルを特定のプログラムとして指定することもできます (このプログラムはコマンド インタプリタではありません)。
この機能を使用すると、ユーザーが指定したアプリケーションのみを実行するように制限できます。アプリケーションの実行が終了すると、ユーザーは自動的にシステムを終了します。一部の Linux システムでは、システムに登録されているプログラムのみがこのフィールドに表示される必要があります。システムには pseudousers と呼ばれるタイプのユーザーがあり、これらのユーザーは Linux の /etc/passwd ファイルにもレコードを持っていますが、ログイン シェルが空であるためログインできません。これらの存在は主に、システム管理を容易にし、ファイル所有者に対応するシステム プロセスの要件を満たすことを目的としています。一般的な擬似ユーザーを以下に示します。
疑似ユーザーの意味
###含む:###
bin には実行可能なユーザー コマンド ファイルがありますsys はシステム ファイルを所有します
adm はアカウント ファイルを所有していますuucp UUCP の使用法
lplp または lpd サブシステムの使用法
誰もNFSを使用しない
自分のアカウント ファイル
audit、cron、mail、usenet などの標準的な疑似ユーザーもいくつかあり、これらにも Linux システム内に対応するプロセスとファイルがあります。ただし、Linux の /etc/passwd ファイルはすべてのユーザーが読み取ることができるため、ユーザーのパスワードが単純すぎる場合、または明らかなパターンがある場合、攻撃者によって簡単に解読される可能性があります。したがって、高度なセキュリティ要件が要求される Linux システムでは、暗号化されたパスワードが /etc/shadow ファイルに個別に保存され、スーパー ユーザーのみがファイルへの読み取り権限を持つため、ユーザー パスワードのセキュリティが保護されます。
以上がLinuxの/etc/passwdファイルの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。