Смонтируйте гостевой каталог LXD, не уничтожая данные и владение

Я создал гостя LXD для хостинга моего веб-сервера, и легко получить доступ к корню документа, я сделал:

lxc config device add guest sharedhtml disk path=/document/root/ source=/home/$USER/public_html

Это сделало две вещи:

  • полностью замененный /document/root/ с public_html/ (всех файлов веб-сервера по умолчанию не стало, как public-html пусто),
  • уничтоженный /document/root настройки владения; каталог и файлы я создаю в public_html/ теперь принадлежит nobody:nogroup

Как я понимаю, это больше похоже на обратное монтирование; вместо того, чтобы монтировать каталог гостя, каталог хоста обратный смонтированный сильно в гостя.

Как я могу смонтировать, что гостевой каталог в хосте, не уничтожая существующее содержание делает его так, чтобы изменения наследовали гостевые настройки владения каталога?

Премия: как я удаляю device это монтирует каталог?

1
задан 27 October 2015 в 11:01

1 ответ

Для удаления записи, Вы создали, следующее должно добиться цели:

lxc config device remove sharedhtml

Теперь похоже, что LXD сделал точно, что это, как предполагалось, сделало в этом случае. Команда, которую Вы выполнили, дает LXD команду монтировать/home/$USER/public_html от хоста в контейнер как/document/root

контейнера Как контейнеры LXD, выполненные с помощью другой карты uid/gid от хоста, владение файлов от хоста не может быть представлено в контейнере, ведя к ядру, показывающему Вам те как nobody:nogroup.

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

Так или иначе, в Вашем случае, что, вероятно, необходимо делать, имеют путь хранения на хосте к файлам веб-сервера, затем имеют эту установку как запись диска устройства в LXD, чтобы смонтировать его в правильном месте в контейнере.

Тогда POSIX набора ACLs на хосте так, чтобы и uid/gid контейнера мог получить доступ к файлам и Вашему собственному пользователю также.

В большинстве случаев, контейнер uid и ценуроз на хосте будут 165536 + uid или ценуроз в контейнере. Более легкий способ понять это состоит в том, чтобы иметь путь на хосте быть миром, перезаписываемым временно, затем записать что-то в путь в контейнере и подтвердить, кто обнаруживается как владелец на хосте.

1
ответ дан 7 December 2019 в 16:07

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

Похожие вопросы: