setpwdb または endpwdb サブルーチン
目的
認証データベースを開くか閉じます。
ライブラリー
セキュリティー・ライブラリー (libc.a)
構文
説明
これらの機能は、認証データベースへのアクセスをオープンおよびクローズするために使用されます。 getuserpw または 書き込みユーザー PW サブルーチンを呼び出すプログラムは、 setpwdb サブルーチンを呼び出してデータベースをオープンし、 Endpwdb サブルーチンを呼び出してデータベースをクローズする必要があります。
setpwdb サブルーチンは、指定されたモードで認証データベースを開きます (まだ開いていない場合)。 オープン・カウントは 1 だけ増やされます。
endpwdb サブルーチンは、オープン・カウントを 1 つ減らし、このカウントが 0 になると認証データベースをクローズします。 その後、個々のデータ項目を参照すると、メモリー・アクセス違反が発生する可能性があります。 endpwdb サブルーチンは、 getuserpw、putuserpw、 または putuserpwhist サブルーチンによって割り当てられたスペースも解放します。 セキュリティー上の理由から、スペースを解放するとパスワード・フィールドがクリアされます。 コミットされていない変更データはすべて失われます。
パラメーター
| 項目 | 説明 |
|---|---|
| モード | オープンのモードを指定します。 このパラメーターには、 usersec.h ファイルに定義されている以下の値の 1 つ以上を入れることができます。
|
戻り値
setpwdb および endpwdb サブルーチンは、成功を示すために値 0 を戻します。 そうでない場合は-1が返され、エラーを示すerrnoグローバル変数が設定される。
エラー・コード
以下に該当する場合、 setpwdb および endpwdb サブルーチンは失敗します。
| 項目 | 説明 |
|---|---|
| EACCES | データ要求に対するアクセス許可が拒否されました。 |
これらの関数は両方とも、他のサブルーチンからエラーを戻します。
セキュリティー
アクセス制御: 呼び出しプロセスは、認証データにアクセスできる必要があります。
アクセスされるファイル:
| モード | ファイル |
|---|---|
| rw | /etc/security/passwd |
| rw | /etc/passwd |