LINUX.ORG.RU

Помогите с PAM модулем


0

0

Уважаемые господа!

Помогите новичку! Создал PAM модуль типа session для контроля пользовательской сессии. Он создает файл в определенном месте файловой системы и заполняет его нужными данными. При логине по SSH и с консоли работает великолепно. Когда же я его включаю в PAM-стек для серисной авторизации, т.е. для авторизации при логине к POP3 сервису, например, то никакие файлы не создаются. Тоже с smtp. Плз., поясните, в чем я ошибаюсь?

Заранее спасибо

anonymous

Re: Помогите с PAM модулем

Нафига файл-то создавать? Небось еще из по рута тестировали?

Ну а поводу остального - сорцы в студию, телепатов нет.

Gharik ()
Ответ на: Re: Помогите с PAM модулем от Gharik

Re: Помогите с PAM модулем

Тестировал и правда под рутом. Просто я произвожу авторизацию пользователя через LDAP каталог. Естественно, spool-файлов для таких пользователей в системе не существует, а хотелось бы, чтобы пользователь получал бюллетень сразу после логина. Данный модуль должен создавать такой spool-файл. Вот так вот. Теперь сырцы. Данный сырец тестовый, естесетвенно и пока просто тупо пытается создать файл в тестовой директории. Вот он.

#include<unistd.h> #include<fcntl.h> #define PAM_SM_SESSION #include<security/pam_modules.h>

int wrm(char * buf){ int fd;

if((fd=open("/test/ppp",O_WRONLY|O_CREAT))<0){return PAM_SESSION_ERR;}

if((write(fd,buf,strlen(buf)))!=strlen(buf)){return PAM_SESSION_ERR;} close(fd); }

PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv){ char ** uname; int res; res = pam_get_user(pamh, uname, "Input your name: "); if(res!=PAM_SUCCESS){return PAM_SESSION_ERR;} wrm(*uname); return PAM_SUCCESS; }

anonymous ()
Ответ на: Re: Помогите с PAM модулем от anonymous

Re: Помогите с PAM модулем

Господа!

Я создал модуль типа аккаунт и тепрь все работает! Спасибо! Тема закрыта!

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.