Ограничить доступ других пользователей Linux к контейнеру докеров

У меня есть два пользователя Linux с именами: ubuntu и my_user Теперь я создаю простой образ Docker и запускаю контейнер Docker. В моем docker-compose.yml я монтирую некоторые файлы с локального компьютера в контейнер, которые были созданы пользователем ubuntu.

Теперь, если я вхожу в систему с помощью my_user и получаю доступ к контейнеру докера, созданному пользователем ubuntu с помощью команды docker exec, я могу получить доступ к любым файлам, которые присутствуют в контейнере.

Мое требование - ограничить доступ my_user для доступа к содержимому контейнера Docker, созданного пользователем ubuntu.

Чего вы на самом деле пытаетесь здесь достичь?

jonrsharpe 16.11.2018 09:03

Не с основной функциональностью Moby / Docker Engine; многопользовательская поддержка и управление доступом на основе пользователей / ролей выходит за рамки, но платформы, такие как Docker Enterprise Edition, предоставляют эту функциональность

malyy 16.11.2018 09:47

Привет, jonrsharpe, на самом деле я хочу, чтобы мои данные контейнера были защищены так, чтобы только один пользователь Linux мог получить доступ к этому содержимому контейнера, ни один другой пользователь Linux не должен иметь возможность вносить изменения в данные контейнера.

Surabhi Dudhediya 16.11.2018 09:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
2 908
4

Ответы 4

Вы можете добавить «ro», что означает чтение только после столбца данных.

ХОЗЯИН: КОНТЕЙНЕР: ro

Или вы можете добавить свойства ReadOnly в свой docker-compose.yml

Вот пример того, как указать контейнеры только для чтения в docker-compose:

В настоящее время этого добиться невозможно. Если ваш пользователь может выполнять команды Docker, это фактически означает, что у пользователя есть привилегии root, поэтому невозможно предотвратить доступ этого пользователя к каким-либо файлам.

Можем ли мы использовать для этого какие-либо сторонние утилиты?

Surabhi Dudhediya 16.11.2018 10:46

@surabhi, есть только возможность ограничить доступ к файлу добавлением полей в docker-compose file.

read_only: flag to set the volume as read-only

nocopy: flag to disable copying of data from a container when a volume is created

Вы можете найти дополнительную информацию здесь

Вы можете установить и запустить sshd в этом контейнере, сопоставить порт 22 с доступным портом хоста и управлять доступом пользователей с помощью ключей ssh. Это не позволит пользователю управлять вещами с помощью команд докеров, но предоставит этому пользователю доступ к этому контейнеру.

Другие вопросы по теме