Я пишу модуль PAM, который свяжется с службой HTTPS, чтобы проверить пользователя. В настоящее время фактическая часть еще не начинается, я просто пишу игрушку, чтобы понять Пэм и проверить весь процесс. Вот функция: < /p>
Я пишу модуль PAM, который свяжется с службой HTTPS, чтобы проверить пользователя. В настоящее время фактическая часть еще не начинается, я просто пишу игрушку, чтобы понять Пэм и проверить весь процесс. Вот функция: < /p> [code]static const char *valid_username = "xrfang"; static const char *valid_password = "password"; static const char *valid_otpcode = "123456";
PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) { const char *username; char *password = NULL; char *otpcode = NULL; int rc = PAM_AUTH_ERR; openlog("pam_ums", LOG_PID | LOG_CONS, LOG_AUTH);
if (pam_get_user(pamh, &username, NULL) != PAM_SUCCESS) { syslog(LOG_ALERT, "Failed to get username"); goto done; } syslog(LOG_ALERT, "username:>%s%s%s