所以,當阿舍知道 LXC 1.0 ( Linux Kernal 3.13 ) 開始支援 Unprivilged User 功能的時候,就很想來找時間來試看看,後來,有一天就試了大半天,然後,沒有試成功,因此,阿舍就把它晾著好一陣子,而這二天又在試 LXC 的東西,就順手來試試用 Unprivilged User 啟動 LXC Container,然後,就成功了哩 ! .... 呵呵 !
Unprivileged User 啟動 Container 不需使用 sudo 指令 |
所謂的 Unprivilged User 指的就是沒有 sudo 或是 root 權限的一般使用者,用這種使用者來啟動和操作 Container 的話,會比用 root 來執行 Container 來的安全些,不過,真的要讓 Container 更安全些的話,還是要再多一些些的設定,這個部份,阿舍改天有空研究後,再來介紹囉 !
接下來,就開始來說明如何設定,首先,先說明一下,阿舍是在Ubuntu 14.04 Server 版上測試的,所以,不確定較早版本的情況是否相容,然後,阿舍是新增一個叫做 ayubiz 的普通使用者來給他可以跑 LXC Container,這個 ayubiz 使用者不是 sudoer,無法修改系統檔案,所以,下面的前二個步驟需要使用 sudoer 來設定,第三個步驟之後,就可切回要跑 Container 的使用者哩 !
- 安裝相關套件 (sudoer)
阿舍如果沒記錯的話,阿舍實際上只有安裝過 LXC 套件,後面那二個好像 Ubuntu 已經有預載了,不過,以防萬一,還是跑一遍看看囉 !
$ sudo apt-get install lxc systemd-services uidmap
- 調整 /etc/lxc/lxc-usernet 檔案 (sudoer)
為了讓這個使用者可以在 LXC Contaner 使用網卡,所以,需要在 /etc/lxc/lxc-usernet 這個檔案加入下面這一行,請把 ayubiz 換成你的使用者名稱,而最後面那個數字是這個使用者可附掛的網卡數,用 2 應該就夠了哩 ! 如果有多個使用者時,就再往下每一個使用者加一行就可以了...
ayubiz veth lxcbr0 2
- 尋找 subuid 和 subgid
所有使用者的 subuid 和 subgid 可以在 /etc/subuid 和 /etc/subgid] 這二個檔案裡找到,而會用到的東西,是使用者帳號後面的那二個數字,可以用下面這行指令來查比較快 ...
$ grep 'ayubiz' /etc/sub?id
/etc/subgid:ayubiz:231072:65536
/etc/subuid:ayubiz:231072:65536
- 建立預設的 config 檔
在使用者的家目錄下建立 .config/lxc 資料夾,然後,把 /etc/lxc/default.conf 設定檔複製過來修改。
$ mkdir -p ~/.config/lxc
$ cp /etc/lxc/default.conf ~/.config/lxc
接著,請打開複製過來的 default.conf 檔,加入下面這二行,然後,請把這二行後面的數字換成上一個步驟查到的數字,完成之後就存檔離開。
lxc.id_map = u 0 231072 65536
lxc.id_map = g 0 231072 65536
- 建立 Container
完成上面的三個步驟後,就可以使用這個帳號來建立、啟動和操作這個使用者自己建立的 Container 了,建立 Container 方式請參考阿舍寫的 這一篇 和 這一篇文,要注意的是,使用者這個帳號來建立和操作 Container 時,都不需要用到 sudo 指令哩 !
另外,阿舍要提醒的是,使用此方式建立的 Container 只有使用者自己看的到,而且,也只看的到自己的 Container 哩 ! 而且,建立的 Container 也不是放在 /var/lib/lxc 裡,而是在使用者家目錄下的 .local/share/lxc 資料夾哩 !
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
沒有留言 :
張貼留言
歡迎留言提問和討論 .... 😁