![設定 LXD 容器 raw.idmap 的語法](https://rvso.com/image/1520729/%E8%A8%AD%E5%AE%9A%20LXD%20%E5%AE%B9%E5%99%A8%20raw.idmap%20%E7%9A%84%E8%AA%9E%E6%B3%95.png)
我正在按照所述步驟在 lxc 容器內安裝主機驅動器這裡。在那篇文章中,作者設定了原始idmap像這樣:
lxc config set zesty raw.idmap 'both 1000 1000'
我想自訂 gid 和 uid 的映射,如中所述lxd idmap 文檔。其中顯示了一個範例映射,如下所示:
both 1000 1000
uid 50-60 500-510
gid 10000-110000 10000-20000
我正在努力解決實際設置此問題的語法,因為第一篇文章中的命令似乎不適用於多行配置,並且我嘗試使用 JSON 將其全部輸入到一行中,但運氣不好,因為容器給出配置錯誤並且無法啟動。
配置這個的正確方法是什麼?
答案1
這個問題已經在LXC 使用者郵件列表:
與idmap
blob 一樣,如果要指派多個值,則必須傳送多行。例子:
echo -en "both 1003 1003\nboth 1004 1004" | lxc config set mycontainer raw.idmap -
答案2
另一種實現自動化的方法可能如下所述(https://ubuntu.com/blog/custom-user-mappings-in-lxd-containers):
printf "uid $(id -u) 1000\ngid $(id -g) 1000" | lxc config set your_container raw.idmap -
lxc restart your_container
因此它將檢索您目前的 UID 和 GID 並將它們對應到容器內的 UID 1000 和 GID 1000。如果您正在使用其他用戶,則可以變更此值。此外,您需要重新啟動容器才能使變更生效。