У меня есть контейнер lxd
с именем master
. Я узнал, что его root можно найти по адресу:
/var/lib/lxd/containers/master/rootfs/home/ubuntu/
Итак, я перенес свою папку tars
на этот адрес. Обратите внимание, что tars
имеет два файла.
Теперь я знаю, что идентификатор пользователя и идентификатор группы tars
равен root
. С другой стороны, идентификатор пользователя и идентификатор группы каждого другого файла в контейнере равен 166536
.
Итак, для папки и файлов я сделал sudo chown 166536 <file/folder name>
, чтобы изменить идентификатор пользователя, и sudo chown :166536 <file/folder name>
, чтобы изменить идентификатор группы.
Однажды я сделал это, я ожидал, что tars
будет доступен из контейнера master
, но этого не произошло. Кто-нибудь может сказать мне, что мне не хватает?
Вот метод, который я нашел на reddit :
Да, это был ответ, вы работаете с непривилегированным контейнером.
не может видеть разрешения на хосте LXD, поэтому он выглядит как
Nobody: Никто. В некотором смысле глупо, потому что вы можете смонтировать папку в
Контейнер и посмотреть файлы на нем ..
Для дальнейшего использования, для тех, кто имеет эту проблему, это шаги
я сделал (это может быть не правильно, но это работает)
sudo mkdir /tmp/share
adduser subsonic --shell=/bin/false --no-create-home --system --group --uid 6000 (this is a "service account")
sudo chown -R subsonic: /tmp/share
lxc exec Test -- /bin/bash
mkdir /mnt/share
adduser subsonic --shell=/bin/false --no-create-home --system --group --uid 6000 (important that the uid is the same)
exit
lxc stop Test
lxc config edit Test (add the line security.privileged: "true" right bellow config: save and exit)
lxc start Test
lxc config device add MyMusic MyLibrary disk source=/tmp/share path=/mnt/share
lxc exec Test -- /bin/bash
ls /mnt/share/ (note that the subsonic user is there)
exit
Жаль, что я не смог найти способ отобразить пользователя внутри
непривилегированный контейнер. если кто-нибудь знает, дайте мне знать.
По сути, для создания общего пользователя как для хоста, так и для контейнера. Есть ли что-нибудь лучше, чем этот метод?