Назад | Перейти на главную страницу

Можно ли использовать собственный скрипт для аутентификации с PAM?

Я хочу, чтобы пользователи могли использовать мои учетные данные приложения rails для входа в учетную запись sftp. Если я правильно понимаю, мне нужно как-то использовать для этого PAM. Но я не нашел информации, как это сделать?

Вы можете написать свой собственный модуль PAM, если хотите. Но другое решение, вероятно, лучше. Ознакомьтесь с примером модуля PAM здесь: http://www.freebsd.org/doc/en/articles/pam/pam-sample-module.html

pam_exec может проверять пароли с помощью внешней программы.

Если эта информация о рельсах находится в базе данных mysql, вы можете настроить pam_mysql. Есть модули pam практически для всего.

Вот один для ftp, который у меня есть с mysql:

session    optional     pam_keyinit.so    force revoke
auth       required pam_listfile.so   item=user sense=allow file=/etc/vsftpd/ftpusers onerr=fail
auth       sufficient   pam_mysql.so      user=virt_admin passwd=PASS host=localhost db=DBNAME table=TABLENAME usercolumn=USERNAMECOL passwdcolumn=PASSCOL crypt=3
auth       required pam_shells.so
auth       include  system-auth
account    sufficient   pam_mysql.so       user=virt_admin passwd=PASS host=localhost db=DBNAME table=TABLENAME usercolumn=USERNAMECOL passwdcolumn=PASSCOL crypt=3
account    include  system-auth
session    include  system-auth
session    required     pam_loginuid.so

Вы также можете запустить скрипт, который периодически сбрасывает логин: пароли в файл и использует pam_pwdfile. Есть множество вариантов.

http://www.kernel.org/pub/linux/libs/pam/modules.html