@Tarakanishe

Чьи права примонтированной папки в докер? Контейнера или хоста?

Монтируется папка хостовой машины в docker-compose. В данной папке файлы с правами root. После запуска контейнера запускается скрипт, который делает владельца примонтированной папки dockerUser. Из контейнера владелец виден как dockerUser, а с хоста root. Как такое может быть и кто владелец? В мануалах пытался найти, не нашел. Не совсем понимаю этот момент. Я понимаю, что на хосте он не может дать права тому кого нет в системе, но после ребута контейнера права сохраняются и сам контейнер не ребилдится.
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега Linux
Любые ответы на любые вопросы
Дело в том, что это по факту два разных файла, ссылающихся на один и тот же инод.

/docker/user/mount    - -
                         | - - - - - - > inode
/host/mount   - - - - - -


Так что и там и там правильно.
Ответ написан
Комментировать
shurshur
@shurshur
Сисадмин, просто сисадмин...
Это точно один и тот же файл? Можно сделать stat на файл в системе и отдельно в контейнере, зайдя в него по docker exec. Если inode у файла разный - это разные файлы. Возможно, с пробросом в докер что-то напутано.

Как называется пользователь зависит от содержимого файла /etc/passwd, который в контейнере и на хосте разные. Пользователь в Linux идентифицируется по uid - это просто числовой идентификатор. Соответственно, uid=0 это root, теоретически его можно переименовать, но так никто не делает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы