2015-11-20 4 views
3

По умолчанию, когда контейнер Docker запущен, пользователь внутри sudo.Проверка подлинности LDAP в контейнере Docker

Я хочу:

  1. Блокировка SUDO пользователя в контейнере по умолчанию.
  2. Использовать аутентификацию LDAP в контейнере вместо значения по умолчанию (когда пользователи предоставляются вместе с изображением или создаются пользователем sudo при запуске контейнера).

Для этого я запустил контейнер и настроил его для связи с сервером LDAP. Затем я создал изображение из этого контейнера.

Теперь я могу запустить контейнер, используя это изображение (но только как пользователь sudo) и выполнить su LDAP_USER, чтобы изменить текущего пользователя на пользователя LDAP. Однако, когда я пытаюсь запустить контейнер с -u LDAP_USER, я получаю сообщение об ошибке, которое пользователь не существует.

Вопрос в следующем: Возможно ли использовать аутентификацию LDAP для запуска контейнеров с -u LDAP_USER? Может быть, я могу как-то использовать хост-компьютер для этого?

Спасибо.

ответ

0

Я бы порекомендовал просто использовать директиву USER в файле сборки Docker и избежать установки демона sshd (я думаю, что настройка последнего была бы способом включить функцию, которую вы искали).

Другими словами, во всех случаях запускать процессы как пользователи без полномочий root, но не интерактивно входить в контейнер. Последнее означает, что вам не нужно беспокоиться о поддержке аутентификации на основе LDAP.

Лучший контроль над конкретным риском - устранение риска.

-1

Заканчивать этот потенциал обходной путь и мое дальнейшее описание предостережений этого обходного пути:

https://serverfault.com/questions/789321/openldap-client-inside-a-docker-container/841202#841202

Я рад поделиться своим Dockerfile изменить контейнер для поддержки поиска в LDAP, если вы спросите. ..

Смежные вопросы