Представляем pam_docker — PAM-модуль для аутентификации внутри Docker
Мы стараемся не только использовать свободное программное обеспечение, но и, по мере своих возможностей и/или интересов, приносить ему ответную пользу. Одним из ключевых направлений нашей деятельности в последнее время является использование Docker для нужд DevOps'а. Интенсивная работа с контейнерами привела к необходимости создания pam_docker. Пришло время поделиться результатами.
Итак, pam_docker — модуль для PAM, позволяющий «помещать» пользователей (и группы) хостовой Linux-машины внутрь контейнеров Docker. Поскольку PAM является стандартным механизмом аутентификации, который поддерживается многочисленными службами и приложениями (включая su/sudo, cron, серверы SSH и FTP), наличие такого модуля упрощает аутентификацию пользователей хоста внутри контейнеров. В частности, pam_docker можно использовать для простой выдачи SSH-доступа в Docker-контейнеры. Разработчики модуля — сотрудники компании «Флант»: Дмитрий Столяров и Тимофей Кириллов.
«Рассматривайте этот модуль как исследовательский. Его реализация и применение — хорошая возможность увидеть и понять, как на практике работает Docker», — отметил Дмитрий Столяров. Подробнее об устройстве pam_docker можно узнать из его доклада «Проникновение в Docker с примерами» со встречи meetup-группы Docker Moscow, что прошла в Badoo этим летом.
Исходный код написан на языке Си, распространяется на условиях свободной лицензии GNU GPLv3, доступен для скачивания вместе с документацией на GitHub. Там же можно найти информацию о пакетах для Debian/Ubuntu и CentOS, инструкции для тестового запуска модуля через Vagrant.
Приятного применения! Проблемы и предложения по этому модулю мы с радостью принимаем через стандартные средства GitHub (issues и pull requests).