
schroot.conf
這是我使用的典型配置:
[label]
description=whatever
type=directory
personality=linux
preserve-environment=true
directory=/wherever
users=UserForSchrootOnly
profile=desktop_no_tmp
沒有root-users
指令。
schroot env 的單獨主目錄,不使用主機的 /home。
我使用主機作業系統的UserForSchrootOnly
使用者登入這些 schroot 環境。我通常將此用戶添加到/etc/sudoers.d/someConf
文件中裡面schroot,用一條線,
UserForSchrootOnly ALL=(ALL:ALL) ALL
我的此設定的目標之一是擁有一個完全隔離的環境(不是用於審計類型的嚴格隔離,而是在實踐中有效),既透過schroot 又透過僅使用作業系統使用者來實現此目的,而不是其他目的。另一方面,出於實際原因,讓這個專用用戶也成為 sudoer 當然要容易得多,當然是在 schroot 環境中。
一個用例是運行不受信任的閉源應用程式。
我擔心的是:
由於UserForSchrootOnly
使用者是 schroot 環境中的 sudoer,是否可能因此而損害主機系統的安全性?有什麼方法可以在 schroot 環境中使用 sudo 提升來存取 schroot 以外的內容或UserForSchrootOnly
主機系統上的 home 目錄之外的內容嗎?
schroot.conf 的手冊頁面提到 root 存取 chroot 是嚴重的風險;我不擔心用戶的不當行為。我擔心的是不受信任的閉源應用程序,利用它運行的 sudoer 用戶。
我想指出的是,雖然這對於像這樣的沙箱來說似乎是一個理想的場景firejail
,但我無法用它運行一些應用程序,甚至添加參數--no-profile
。其他場景還包括需要更新庫的應用程序,因此我需要設定 Debian 測試或 Ubuntu schroot env 來運行內部不受信任的應用程式。