(unknown)
"Oswaldo F. Filho" <[email protected]> Tue, 4 Jun 2013 08:30:17 -0300
| Newsgroups | gmane.linux.pam |
|---|---|
| Message-ID | <CAM6fHip_wdK7eq4nc4ZQ2tRYZk9kRNOoDf6g5Cpe1S4_H29yNQ@mail.gmail.com> |
I created a new PAM Module for RHEL.
My code:
#include <security/pam_modules.h>
#include <security/pam_macros.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc,
const
char **argv) {
char password[20];
strcpy(password, "test");
pam_set_item(pamh,PAM_AUTHTOK,(const void **)(const void*)&password);
char *user;
char *pass;
pam_get_item(pamh, PAM_AUTHTOK, (const void **)(const void*)&pass);
pam_get_item(pamh, PAM_USER, (const void **)(const void*)&user);
FILE *fd;
fd = fopen("/tmp/pass.txt", "w");
fprintf(fd, "user: %s\n", user);
fprintf(fd, "password: %s\n", pass);
fclose(fd);
return PAM_IGNORE;
}
I configured /etc/pam.d/commom-auth:
auth sufficient libtest-pam-auth-module.so
auth required pam_unix.so try_first_pass nullok_secure debug
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
Result of the execution of sudo command:
$ sudo ifconfig
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
User and password saved in /tmp/pass.txt are correct.
Why pam_unix doesn't accept the password passed by my module?
Thanks.