本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 4 : ファイルフォーマット > p

passwd(4)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

passwd ― パスワードファイル

構文

#include <pwd.h> 

説明

/etc/passwd は、各ユーザーに対する次の情報を含んでいます。

  • ログイン名

  • 暗号化パスワード

  • ユーザー ID 番号

  • グループ ID 番号

  • 予約済み gecos ID

  • 初期ワークディレクトリ

  • シェルとして使うプログラム

このファイルは ASCII 形式の ファイルです。 各ユーザーエントリー内の各フィールドは、コロンで区切られます。 各ユーザーは、ニューラインで区切られます。 このファイルは /etc ディレクトリにあります。 このファイルには全ユーザーに対する読み取りパーミッションが与えられています。これは、例えば、ユーザー ID 番号を名前にマッピングするような場合に使われます。

getpwent(3C) は、 <pwd.h> で宣言されたユーザーのパスワード構造体エントリーへのポインタを返します。

ログイン名は英字で始まらなければならず、英数字と下線文字のみを含めることができます。ログインディレクトリがヌルの場合、デフォルトでは、ユーザーは / に配置されます。ログインシェルがヌルの場合は、 /usr/bin/sh が使用されます。

システムソフトウェア用に割り当てられる ID との衝突を防ぐために、ユーザー ID とグループ ID には範囲 0 (mi99 を使用しないでください。

gecos フィールドには、ユーザーのフルネーム、オフィスの所在地、内線番号、および自宅電話番号を設定できます。gecos フィールドは chfn コマンドを使って設定でき、 finger コマンドによって表示されます (chfn(1) および finger(1) を参照)。 この 2 つのコマンドでは、 フィールド中の情報は上に並んだ順だと考えます。 ユーザーの実名の部分は、 gecos フィールドでは、 & の文字で表せます。いくつかのユーティリティ (finger も含む) ではそれをログイン名で置き換えて、そのログイン名の最初の文字を大文字にします。

パスワードフィールド

シャドウ化されていない標準システムでは、すべてのパスワードフィールドには暗号化された実際のパスワードが入っています。シャドウ化された標準システムでは、すべてのパスワードフィールドには `x' が入っており、暗号化された実際のパスワードは /etc/shadow に入っています。 高信頼性システムでは、すべてのパスワードフィールドには `*' が入っており、暗号化された実際のパスワードは保護されたパスワードデータベースに入っています。

パスワードフィールドに関するこれ以降の記述は、 /etc/passwd のエントリーのパスワードフィールドに暗号化された実際のパスワードが入っている場合にのみ適用されます。 暗号化されたパスワードが /etc/shadow に入っている場合は shadow(4) を参照してください。 また、高信頼性システムにおける暗号化パスワードの詳細は セキュリティ機能 の項を参照してください。

パスワードフィールドがヌルの場合は、パスワードは登録されていないため、ログイン時にパスワードを入力する必要はありません。ヌル以外の場合には、このフィールドは暗号化パスワードとオプションのパスワードエージングサブフィールドで構成されています。

暗号化パスワードは、13 文字からなります。これらの文字は下に説明されているような、「数字」からなる 64 文字の文字セットから選ばれます。 パスワードフィールドに、数字からなる文字セットにない文字 (例えば *) を入れるとログインを禁止できます。

「数字」は、次のような文字で表します。 . で 0 を、 / で 1 を表し、 0 から 9 で 2 から 11 を、 A から Z で 12 から 37 を、 a から z で 38 から 63 をそれぞれ表します。

次の場合には、特定のユーザーに対してパスワードのエージングが有効です。それは、パスワードファイル中のそのユーザーの暗号化パスワードが、カンマに続けて上のアルファベットを使った null でない文字列であるときです。 このような文字列は、初めにスーパーユーザーによって設定されている必要があります。 この文字列はパスワードエージングを満たすのに必要な「期間」を定義します。

UNIX は、1970 年 1 月 1 日 (木) を基準日として内部タイムスタンプを記録しています。したがって、パスワードは木曜日の 00:00 GMT を週の始まりと見なします。

期間を表す文字列の最初の文字 M は、パスワードの有効な期間を週で表したときの最大値です。 パスワードの有効期限を過ぎたユーザーがログインしようとすると、新しいパスワードを設定するように求められます。 次の文字 m は、パスワードが変更できるようになるまでに経過しなければならない期間を週で表したときの最小値です。 残りの 2 文字は、パスワードが最後に変更された週を定義します (ヌル文字列はゼロと等価です)。 Mm は、0 から 63 の範囲の値で、上に説明のある 64 の文字セットに相当します。

もし m = M = 0 ならば (つまりその文字列が . または .. の場合には)、ユーザーは次にログインしたときにパスワードの変更を求められ、エージングの「期間」を表す文字列は、パスワードファイル中のそのユーザーのエントリーから消されます。 m M (例えば、その文字列が ./) のとき、スーパーユーザー (ユーザーではありません) のみがパスワードを変更できます。

セキュリティ機能

この項は、高信頼性システムのみに適用されます。高信頼性システムでは、パスワードフィールドには、デフォルトとして常に * が表示されます。実際のパスワードとエージング情報は、保護されたパスワードデータベースの一部として保存されます。

高信頼性システムでは、各ユーザーの暗号化パスワードが /tcb/files/auth/ c /user_name というファイルに保存されています cuser_name の最初の文字)。 一般ユーザーはパスワード情報ファイルをアクセスできません。 暗号化パスワードは 13 文字よりも長くてかまいません。 例えば、 david というユーザーのパスワードは /tcb/files/auth/d/david に保存されます。 パスワードだけでなく、 /tcb/files/auth/*/* に保存されたユーザープロファイルには、ほかにも以下に示すような多数のフィールドが割り当てられています。

  • 監査 ID (数値)

  • 監査フラグ (数値)

/etc/passwd と同じく、 これらのファイル も ASCII 形式の ファイルです。 各ユーザーエントリー内の各フィールドは、コロンで区切られます。 詳細については、 authcap(4) および prpwd(4) を参照してください。 /tcb/files/auth/*/* 中のパスワードは、 /etc/passwd の暗号化パスワードフィールドにあるパスワードより優先されます。 ユーザ認証は、このファイル中の暗号化パスワードにより行われます。 パスワードエージングメカニズムについての説明は、 passwd(1)機密保護機能 の項を参照してください。

高信頼性システムへの変換とパスワードに関する詳細については、 『システム/ワークグループの管理』 および sam(1M) を参照してください。

ネットワーク機能

NIS

passwd ファイルには、第 1 カラムがプラス符号 (+) あるいはマイナス符号 (-) で始まるエントリーを入れられます。 このような行は、ネットワーク情報システムのデータベースにアクセスするのに使います。 プラス符号 (+) で始まる行はネットワーク情報システムからのエントリーの組込みに使われます。 + エントリーには、3 つの形式があります。

+ 

その位置に、ネットワーク情報システムパスワードファイルの内容全体を挿入します。

+name 

その位置に、ネットワーク情報システムの name エントリー があれば挿入します。

+@name 

その位置に、ネットワークグループ name のすべてのメンバーのエントリーを挿入します。

+ エントリーにヌル以外のパスワード、ディレクトリ、gecos フィールドまたはシェルフィールドがある場合には、それらによってネットワーク情報システムの内容が置き換えられます。 ユーザー ID 番号とグループ ID 番号のフィールドは、置き換えられません。

passwd ファイルには、マイナス符号 (-) で始まる行も入れることができ、ネットワーク情報システムからのエントリーを無効にします。 - エントリー には、2 つの形式があります。

-name 

name に対して、以降にエントリーがあっても、無効にします。

-@name 

ネットワークグループ name のすべてのメンバーに対して、以降のエントリーを無効にします。

NIS に関する警告

プラス符号 (+) とマイナス符号 (-) の機能は NIS の機能です。したがって NIS がインストールされていなければ、これらの機能は使えません。 また、これらの機能が動作するのは、 /etc/passwd に限られ、 高信頼性システムに変換したシステムでは動作しません。 システムを高信頼性システムに変換した場合、 暗号化パスワードは、保護されたパスワードデータベースである /tcb/files/auth/*/* にあるものだけがアクセスされます。 データベース中のすべてのユーザーエントリーは、 保護されたパスワードデータベース にもエントリーが必要です。

uid の -2 は NFS によるリモートルートアクセスのために予約されています。 通常この uid に割り当てられるユーザー名は、 nobody です。 uid は符号ありの数値として記憶されるので、ユーザー nobody のために次は定義が <pwd.h> にあります。

UID_NOBODY  (-2) 

警告

ルートユーザー (uid 0) のログインシェルは、システムが常にブート可能であることを保証するため、/sbin/sh でなければなりません。 sh や ksh など、その他のシェルはすべてディレクトリ /usr 以下に配置されます。 このディレクトリは、起動プロセスの初期段階ではマウントされません。 ルートユーザーのログインシェルを /sbin/sh 以外の値に変更することは可能ですが、システムが機能しなくなるおそれがあります。

gecos フィールドに記憶されている情報と、このフィールドのサポート外の使い方や将来における使い方とは矛盾するかもしれません。 gecos フィールドをユーザーの識別情報の記憶に使うことは、工業標準では正式に決められていません。 このフィールドを現在のように使うのはバークレーソフトウェアディストリビューションに由来します。 将来の標準では、このフィールドは他の目的のために定義されるかもしれません。

以下のフィールドには、サイズ制限があります。

  • ログイン名フィールドは 8 文字を超えられません。

  • 初期ワークディレクトリフィールドは 63 文字を超えられません。

  • プログラムフィールドは 44 文字を超えられません。

  • フィールドが上に示した制限を超えた場合、結果は予測できません。

次はフィールドには数値制限があります。

  • ユーザー ID は、0 と UID_MAX-1 (これを含む) の間の整数値です。特殊な例として、-2 が指定できる場合もあります。

  • グループ ID は、0 と UID_MAX-1 (これを含む) の間の整数値です。特殊な例として、-2 が指定できる場合もあります。

  • 2 つの値のうちどちらかの値が範囲外の場合は、 getpwent(3C) 関数は、その ID の値を (UID_MAX) にリセットします。

シャドウパスワードの例

root:x:0:10:System Administrator:/:/sbin/sh 
joe:x:100:50:Joe User,Post 4A,12345:/home/joe:/usr/bin/ksh 

このシステムがシャドウ化された標準システムに変換されている場合、ユーザー root およびユーザー joe のパスワードフィールドには 'x' が入っており、暗号化された実際のパスワードは /etc/shadow に入っています。シャドウ化されていない標準システムでは、ユーザー root およびユーザー joe のパスワードフィールドには暗号化された実際のパスワードが入ります。

NIS の例

root:3Km/o4Cyq84Xc:0:10:System Administrator:/:/sbin/sh 
joe:r4hRJr4GJ4CqE:100:50:Joe User,Post 4A,12345:/home/joeuser:/usr/bin/ksh 
+john: 
-bob: 
+@documentation:no-login: 
-@marketing: 
+:::Guest 

NIS の例では、 rootjoe というユーザーに対しては特定のエントリーがあり、ネットワーク情報システムが稼働していなくても構いません。

  • ユーザー john のネットワーク情報システム内のパスワードエントリーは、変更なしで組み込まれます。

  • ユーザー bob の以降のエントリーはすべて無視されます。

  • ネットワークグループ documentation に属するすべてのユーザーのパスワードフィールドは無効になります。

  • ネットワークグループ marketing に属するユーザーは、 getpwent(3C) から値が戻されないので、結果的にログインが禁じられます。

  • 他のユーザーはすべて、通常のパスワード、シェル、ホームディレクトリでログインできますが、 gecos フィールドは Guest となります。

ファイル

/tcb/files/auth/*/*
  

システムを高信頼性システムに変換したときに使用する保護されたパスワードデータベース

/etc/passwd 

HP-UX が使用する標準パスワードファイル

/etc/shadow 

シャドウパスワードファイル

参照

chfn(1)、 chsh(1)、 finger(1)、 login(1)、 passwd(1)、 pwck(1)、 pwconv(1M)、 useradd(1M)、 a64l(3C)、 crypt(3C)、 getpass(3C)、 getpwent(3C)、 getprpwent(3)、 authcap(4)、 shadow(4)、 limits(5)

標準準拠

passwd: SVID2、SVID3、XPG2

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.