Как аутентифицировать имя пользователя / пароль, используя PAM без корневых привилегий
У меня есть программа, написанная на C. Она принимает 2 аргумента имя пользователя / пароль и пытается аутентифицировать этого пользователя с помощью PAM. Он отлично работает, когда я root. Когда я 'm' нормальный ' пользователь, это работает для этого пользователя, но не для другого. Я думаю, это связано с использованием теневых паролей.
В качестве услуги я использую:
retval = pam_start("test", username, &local_conversation, &local_auth_handle);
Я добавляю это в /etc/pam.d/test
#%PAM-1.0
auth required pam_unix.so shadow nullok
account required pam_unix.so
session required pam_unix.so
Не могли бы вы мне помочь, пожалуйста? Большое спасибо!