Я использую 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
Выше приведен только мой псевдокод, как он может выглядеть, как должен выглядеть этот синтаксис правильно?