名称
pam_setcred ― 認証サービスのためのユーザー資格認定の変更 \/ 削除
構文
cc [ flag ... ] file ... -lpam [ library ... ]
#include <security/pam_appl.h>
int pam_setcred(pam_handle_t *pamh, int flags);
説明
pam_setcred() を使用して、ユーザー資格認定の設定、変更、削除を行います。 pam_setcred() は、通常、ユーザーが認証されてセッションが開かれた後で呼び出します pam_authenticate(3), pam_acct_mgmt(3), pam_open_session(3) を参照)。
ユーザーは以前に呼び出した pam_start() または pam_set_item() で指定され、認証ハンドル pamh で参照されます。 flags フィールドには以下のフラグを設定できます。最初の 4 つのフラグは同時に指定できないことに注意してください。
| PAM_ESTABLISH_CRED |
| | | 認証サービスのためのユーザー資格認定を設定します。 |
| PAM_DELETE_CRED | | 認証サービスに関連付けられたユーザー資格認定を削除します。 |
| PAM_REINITIALIZE_CRED |
| | | ユーザー資格認定を再初期化します。 |
| PAM_REFRESH_CRED |
| | | ユーザー資格認定の期限を延長します。 |
| PAM_SILENT | | 認証サービスのメッセージ作成を禁止します。 |
どのフラグも設定されていない場合、デフォルト値として PAM_ESTABLISH_CRED が使用されます。
アプリケーション使用法
PAM インタフェースのスレッドへの対応状況については、 pam(3) を参照してください。
戻り値
正常終了すると、 pam_setcred() は PAM_SUCCESS を返します。エラーが発生すると、 pam(3) で説明したエラー戻り値の他に、以下の値が返されることがあります。
| PAM_CRED_UNAVAIL |
| | | 基底の認証サービスが、使用できないユーザー資格認定を取り出せません。 |
| PAM_CRED_EXPIRED |
| | | ユーザー資格認定が期限切れです。 |
| PAM_USER_UNKNOWN |
| | | 基底の認証サービスがユーザーを認識できません。 |
| PAM_CRED_ERR | | ユーザー資格認定の設定に失敗しました。 |