passwd コマンド
目的
ユーザーのパスワードを変更します。
構文
説明
passwd コマンドは、ユーザーのパスワードの設定と変更を行います。 このコマンドを使用して、自分のパスワードまたはほかのユーザーのパスワードを変更します。 passwd コマンドを使用して、ログイン名と関連した完全名 (gecos) と、オペレーティング・システムへのインターフェースとして使用するシェルを変更することもできます。
ユーザーの定義方法によって、そのユーザーのパスワードをローカルまたはリモートにすることができます。 ローカル・パスワードは /etc/security/passwd データベースにあります。 リモート・パスワードは、リモート・ドメインによって提供されるデータベースに保管されます。
ほかのユーザーのパスワードを変更するには、passwd コマンドとそのユーザーのログイン名 (User パラメーター) を入力します。 ほかのユーザーのパスワードの変更を許可されているのは、root ユーザーか、セキュリティー・グループのメンバーだけです。 passwd コマンドは、新規パスワードのほかにそのユーザーの旧パスワードの入力を求めるプロンプトを表示します。 ローカル・パスワードの場合、passwd コマンドは、root ユーザーに旧ユーザー・パスワードまたは root パスワードの入力を求めません。 リモート・パスワードの場合、デフォルトによって root ユーザーには旧パスワードの入力が求められ、それにより、リモート・ドメインがそのパスワードを使用するか無視するかを決定できます。 この動作を変更するには、/usr/lib/security/methods.cfg ファイルの rootrequiresopw オプションを参照してください。passwd コマンドは、root ユーザーにはパスワード制限を強制しません。
/etc/passwd ファイルは、完全名と、使用するシェルのパス名を記録します。 記録された名前を変更するには、passwd -f コマンドを入力します。 ログイン・シェルを変更するには、passwd -s コマンドを入力します。
項目 | 説明 |
---|---|
dictionlist | パスワードが変更されたときに検査されるディクショナリー・ファイルのリストを指定します。 |
histexpire | ユーザーがパスワードを再利用できない期間の値を週単位で指定します。 |
histsize | ユーザーが再利用できない以前のパスワードの数を指定します。 |
maxage | パスワードの最長経過日数を指定します。 パスワードは、週単位で計測する指定された期間経過後に変更しなくてはなりません。 |
maxexpired | ユーザーがパスワードを変更できる期間で、maxage を超える期間の最大値を週単位で指定します。 |
maxrepeats | ある 1 つの文字をパスワード内で使用できる最大回数を指定します。 |
minalpha | 英字の最小数を指定します。 |
minother | その他の文字の最小数を指定します。 |
minlen | 文字の最小数を指定します。
注: この値は、minalpha に minother の値を足したものか、または minlen の値のいずれか大きい方によって決まります。
|
mindiff | 旧パスワードになく、新規パスワードにある文字の最小数を指定します。
注: この制限では位置は関係ありません。
新規パスワードが abcd で旧パスワードが edcb の場合、異なる文字数は 1 です。
|
minage | パスワードを変更できる最低経過日数を指定します。 パスワードは、最低期間が経過するまで変更できません。 この値は週単位で計測します。 |
minloweralpha | 英小文字の最小数を指定します。 |
minupperalpha | 英大文字の最小数を指定します。 |
mindigit | 数字の最小桁数を指定します。 |
minspecialchar | 特殊文字の最小数を指定します。 |
pwdchecks | パスワードが変更されると呼び出される外部パスワード制限メソッドのリストを指定します。 |
root ユーザーが NOCHECK 属性を /etc/security/passwd ファイルのフラグ・エントリーに追加した場合は、パスワードがこれらの制限を満たしていなくてもかまいません。 また、root ユーザーは、以下のパスワード制限に従わずにほかのユーザーに新規パスワードを割り当てることができます。
root ユーザーが ADMIN 属性をフラグ・エントリーに追加するか、 または /etc/passwd ファイルの password フィールドに * (アスタリスク) が含まれている場合は、 root ユーザーだけがパスワードを変更できます。 また、/etc/passwd の password フィールドに ! (感嘆符) が含まれ、 かつ /etc/security/passwd ファイルの password フィールドに * が含まれる場合、root ユーザーだけがユーザーのパスワードを変更する排他的特権を持ちます。
root ユーザーがパスワードを変更すると、ADMCHG 属性が自動的に /etc/security/passwd ファイルのフラグ・エントリーに追加されます。 この場合は、次にログインするときにパスワードを変更しなくてはなりません。
/etc/security/user ファイルのユーザーの registry の値が DCE または NIS のいずれかである場合、パスワード変更は指定されたデータベースでだけ行うことができます。
ユーザーの鍵ストアが存在せず、しかもユーザーの efs_keystore_access 属性値が none でない場合、passwd コマンドはユーザー鍵ストアを作成します。 鍵ストアは、/etc/security/user ファイルにある暗号化ファイルシステム (EFS) 属性を使用して作成されます。 古いパスワードで鍵ストアを開くことができる場合は、鍵ストア・パスワードも変更されます。 つまり、ログイン・パスワードと鍵ストア・パスワードが同じ場合、passwd コマンドは両方のパスワードを変更します。 ファイルシステムが暗号化ファイルシステム (EFS) の場合は、コマンドは -a フラグが指定されている場合と同様に機能します。 -a フラグを指定した場合、パスワード変更後の EFS パスワードはユーザー・ログイン・パスワードと同期されません。 したがって、次回のログイン時に鍵ストアは自動的にはロードされません。
フラグ
項目 | 説明 |
---|---|
-a | すべてのモジュール (compat、LDAP、NIS、など) 内のユーザー・パスワードを変更します。 |
-f | finger コマンドがアクセスするユーザー情報を変更します。 このフラグを使用して、/etc/passwd ファイルにフルネームを入れることができます。 |
-s | ログイン・シェルを変更します。 |
-R load_module | ユーザーのパスワードを変更するために使用されるロード可能 I&A モジュールを指定します。 |
セキュリティー
passwd コマンドは、passwd という
サービス名を持つ、PAM 使用可能アプリケーションです。root ユーザーとして、/etc/security/login.cfg の usw
スタンザにある auth_type 属性の値を
PAM_AUTH
に変更すると、認証に PAM を使用するシステム全体の構成が設定されます。
#
# AIX passwd configuration
#
passwd password required /usr/lib/security/pam_aix
RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権操作を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。
例
- パスワードを変更するには、以下のように入力します。
passwd コマンドは、旧パスワードがあり、ユーザーが root 以外の場合は、旧パスワードの入力を求めるプロンプトを表示します。 旧パスワードを入力すると、新規パスワードの入力を求めるプロンプトが 2 回表示されます。passwd
- /etc/passwd ファイルのフルネームを変更するには、
以下のように入力します。
passwd -fpasswd コマンドは、そのユーザー ID に格納されている名前を表示します。 例えばログイン名 sam の場合、passwd コマンドは次のようなメッセージを表示します。
はい (yes) の場合 Y を入力すると、passwd コマンドは新しい名前の入力を求めるプロンプトを表示します。passwd コマンドは、/etc/passwd ファイルに入力した名前を記録します。sam's current gecos: "Sam Smith" Change (yes) or no)? >
- 次にログインするとき異なるシェルを使用するには、以下のように入力します。passwd -spasswd コマンドは、使用可能なシェルのパス名と、現在使用中のシェルをリストします。 次のようなプロンプトも表示します。
はい (yes) の場合 Y を入力すると、passwd コマンドは使用するシェルの入力を求めるプロンプトを表示します。次にログインするとき、システムはここで指定したシェルを提供します。Change (yes) or (no)? >
ファイル
項目 | 説明 |
---|---|
/usr/bin/passwd | passwd コマンドが入っています。 |
/etc/passwd | ユーザー ID、ユーザー名、ホーム・ディレクトリー、ログイン・シェル、およびフィンガー情報が入っています。 |
/etc/security/passwd | 暗号化されたパスワードとセキュリティー情報が入っています。 |