mkpasswd コマンド

目的

効率的に検索できるように、基本ユーザー・データベースを編成します。

構文

mkpasswd [ -v ] { -f | -d | -c} |indexname

説明

mkpasswd コマンドは、特定のセキュリティー・ファイルに対して索引を生成します。 これらの索引は、getpwnamgetpwuidgetuserattr、および putuserattr の各ライブラリー・サブルーチンで使用されます。

この方法によって大規模なユーザー・ベース・システムのパフォーマンスを大幅に強化することができます。 /usr/include/usersec.h で定義された次の索引が作成されます。

項目 説明
/etc/passwd.nm.idx: ユーザー名をキーとして使用する /etc/passwd ファイルに対する索引。
/etc/passwd.id.idx: ユーザー ID 番号がキーとして使用される /etc/passwd ファイルに対する索引。
/etc/security/passwd.idx: /etc/security/passwd ファイルに対する索引。
/etc/security/lastlog.idx: /etc/security/lastlog ファイルに対する索引。
注:
  1. エディターによって索引が作成されるセキュリティー・ファイルを変更することによって索引付け機能を使用できないようにします。
  2. データ・ファイルの索引付き読み取りは、そのファイルに対して対応する索引があり、その索引がそれより新しい場合に (Lastlog 索引を除いて)、自動的に行われます。
  3. 索引付け機能をログインで使用するためには、mkpasswd コマンドが索引を生成していなければなりません。
  4. dbm ファイルを使用した前のハッシュ機能が、索引付け機能に置き換えられます。

フラグ

項目 説明
-v 索引が作成されたかについて進捗状況を報告します。
-f すべての索引を強制的に作成させます。
-d すべての索引を削除します。
-c すべての索引を検査し、なんらかの問題がみられる場合に、作成し直します。
indexname 特定の索引を強制的に作成させます。

セキュリティー

アクセス制御: root ユーザーとセキュリティー・グループのメンバーのみが、このコマンドへの実行 (x) アクセス権を持ちます。 このコマンドは、root ユーザーに対して setuid にされるので、このコマンドはユーザー・データベースにアクセスします。 セキュリティー・グループのメンバーはファイルのセクションで挙げられたすべてのファイルにアクセスします。 このコマンドには、トラステッド・コンピューティング・ベース属性が入っています。

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

アクセスされるファイル:

項目 説明
モード ファイル
r /etc/passwd
rw /etc/passwd.nm.idxnnnn.tmp and /etc/passwd.id.idxnnnn.tmp

この場合、nnnn はプロセス ID です。

r /etc/security/passwd
rw /etc/security/passwd.idx
rw /etc/security/passwd.idxnnnn.tmp

この場合、nnnn はプロセス ID です。

r /etc/security/lastlog
rw /etc/security/lastlog.idx
rw /etc/security/lastlog.idxnnnn.tmp

この場合、nnnn はプロセス ID です。

  1. セキュリティー・ファイルの索引付き読み取りを作成し、使用可能にするには、次のように入力します。
    mkpasswd -f
  2. /etc/security/passwd ファイルのみの索引付きの読み取りを作成し、使用可能にするには、次のように入力します。
    mkpasswd /etc/security/passwd.idx
  3. 旧式化した索引や正しくない索引を検査し、作成し直すには、次のように入力します。
    mkpasswd -c

ファイル

項目 説明
/usr/sbin/mkpasswd mkpasswd コマンドが入っています。
/etc/passwd 基本ユーザー属性が入っています。
/etc/security/passwd ユーザー・パスワード属性が入っています。
/etc/security/lastlog lastlog に関連した属性が入っています。