Настраиваемая конфигурация PAM: как передать параметры имени пользователя и пароля в модуль pam_exec.so? - PullRequest
1 голос
/ 15 июня 2011

Я использую openvpn, приложение, поддерживающее PAM. Имеет следующую полезную документацию:

For example:

  plugin openvpn-auth-pam.so "login login USERNAME password PASSWORD"

tells auth-pam to (a) use the "login" PAM module, (b) answer a
"login" query with the username given by the OpenVPN client, and
(c) answer a "password" query with the password given by the
OpenVPN client.  This provides flexibility in dealing with the different
types of query strings which different PAM modules might generate.
For example, suppose you were using a PAM module called
"test" which queried for "name" rather than "login":

Теперь я хочу создать конфигурацию openvpn в /etc/pam.d, которая получает имя пользователя / пароль от плагина openvpn PAM и передает его в скрипт. Введите:

pam_exec.so

Настройка конфигурации PAM openvpn с помощью:

auth required pam_exec.so myscript

И настройка openvpn для вызова:

plugin openvpn-auth-pam.so "openvpn login USERNAME password PASSWORD"

Все кажется прямым. То, что меня привлекает, это то, какой синтаксис я использую, чтобы получить логин / пароль, которые были определены в openvpn для скрипта. Документация к pam_exec.so, похоже, игнорирует этот ключевой вопрос.

например:.

auth required pam_exec.so myscript %login %password

Выше приведен только мой псевдокод, как он может выглядеть, как должен выглядеть этот синтаксис правильно?

1 Ответ

0 голосов
/ 17 июня 2011

Полный ответ выложен здесь:

https://forums.openvpn.net/viewtopic.php?t=8310

Без полного дублирования этого ответа, суть в том, что конфигурация в server.config openvpn должна быть:

plugin /usr/local/openvpn/sbin/openvpn-auth-pam.so "openvpn"

В отличие от примера, приведенного в документации:

plugin openvpn-auth-pam.so "login login USERNAME password PASSWORD"
...