Các hướng dẫn trên https://wiki.gentoo.org/wiki/LXD mà bạn đề cập là chính xác nhưng có thể cần giải thích thêm một chút.
Trên máy chủ, trước tiên bạn kiểm tra quyền sở hữu của thư mục chứa dữ liệu chứa. Chạy
sudo ls -l /var/lib/lxd/containers
và kiểm tra chủ sở hữu của container bạn muốn chia sẻ thư mục với. Trong trường hợp của tôi uid
và gid
cả hai đều là 100000.
Tiếp theo, sử dụng chúng để thay đổi quyền sở hữu của thư mục bạn muốn chia sẻ:
sudo chown 100000:100000 /tmp/share_on_host
Chia sẻ thư mục với container theo cách bạn đã chỉ ra trong nhận xét của mình:
lxc config device add mycontainer sharedtmp disk \
path=/tmp/share_on_guest source=/tmp/share_on_host
Bây giờ, trong vùng chứa, bạn sẽ thấy rằng thư mục /tmp/share_on_guest
(tôi không khuyên bạn nên gắn thư mục của mình /tmp
vì nó được hệ thống sử dụng cho các nội dung khác và có quyền đặc biệt) được sở hữu bởi root. Từ đây, bạn có thể sử dụng chown
trong vùng chứa để thay đổi quyền sở hữu cho phù hợp uid
và gid
cho người dùng của bạn trong vùng chứa.
Như một lưu ý phụ, sau khi thay đổi quyền sở hữu trong vùng chứa thành ví dụ: người dùng có uid
33 bạn sẽ thấy trên máy chủ hiện uid
có 100033, điều này hoàn toàn có ý nghĩa.
lxc config device add confexample sharedtmp disk path=/tmp source=/tmp/shared
. Nhưng nhìn vào thư mục trên container, chủ sở hữu và nhóm cho các tệp trong đó được đặt thành 'none' và 'nogroup' và mount chỉ được đọc.