Pam
Содержание
Запустить сценарий при входе пользователя в GNU/Linux с передачей в него логина и пароля
Добавляем вызов сценария
В одном из файлов
/etc/pam.d/system-auth-<тут зависит от контекста, смотря какая аунентификация используется>
например, это может быть файл
/etc/pam.d/system-auth-local
добавляем строку
auth optional pam_exec.so expose_authtok /opt/pam_exec_hook
Создаём сценарий
cat << 'EOF' > /opt/pam_exec_hook #!/bin/bash login="$PAM_USER" read password set -x curl -v -X POST \ -H 'Content-Type: application/json' \ -d "{\"login\": \"$login\", \"password\": \"$password\"}" \ http://zimbrahost:65432/ EOF
Предполагается что с доменом
zimbrahost
в файле
/etc/hosts
сопоставлен ip адрес сервера с zimbra, интеграция с которой предполагается.
делаем файл исполняемым
chmod +x /opt/pam_exec_hook
Как это работает?
Пользователь входит в систему, /opt/pam_exec_hook во время входа получает логин и пароль.
Пример сервиса интеграции с zimbra описан Zimbra#.D0.98.D0.BD.D1.82.D0.B5.D0.B3.D1.80.D0.B0.D1.86.D0.B8.D1.8F здесь