Intereting Posts

Изменение разрешений для файлов, созданных службой демона докеров

Я пытаюсь изменить разрешения по умолчанию, назначенные файлам при создании демона докеров, изменив значение по умолчанию umask . Служба docker daemon работает от имени root и создает файлы с umask от root. Я попытался изменить umask , добавив команду /etc/init.d/docker а также передал желаемый umask(000) в качестве опции start-stop-daemon, но ни один из них, похоже, не работает. Как я могу изменить разрешения по умолчанию, назначенные файлам, созданным демонами докеров?

Изменить. Я пытаюсь установить разрешения по умолчанию для файлов и папок, созданных демонами докеров на хосте, а не в контейнере. Например, если папка на хост-машине, отображаемая в контейнере, не существует, доклер автоматически создает папки и назначает разрешения на основе по умолчанию umask (то есть root).

Контейнеры-докеры обычно и по дизайну работают в непривилегированном режиме. Когда процесс в своем контейнере выполняется с правами root, процесс uid 0 сопоставляется с операционной системой хоста как другой пользователь (обычно «никто»). Это означает, что для любого процесса в контейнере для чтения файлов из ОС хоста эти файлы должны быть удобочитаемыми по всему миру. Предположительно, (caveat emptor, так как я не знаком с кодом) Docker игнорирует настройки umask, чтобы гарантировать, что каталог, который он создал через опцию -v, действительно читается контейнером.

Я не уверен в файлах, созданных в контейнере через btrfs или overlayfs, должны ли эти файлы, доступные для операционной системы хоста, быть общедоступными. Я также не уверен, что создание этих файлов обрабатывается в контейнере или в ОС хоста.