覆沉

一點firejail經驗——調整firefox
by renyuneyun, post on Sun 29 March 2020

近期折騰一文寫作的時候,其實我已經在嘗試使用firejail了。然而當時僅僅是在用它已經提供好的Profile,以及爲支持fcitx進行了細微修改,並沒有深入去瞭解其Profile如何寫就,以及它究竟能限制什麼。

而我由於在使用pass進行密碼管理,故而在firefox上使用passff插件以便自動填寫密碼。然而在默認的firejail profile下,passff無法正常工作。於是我起了去折騰的心,而直到今日終於解決問題。鑑於網上對於firejail的文章很少,中文尤其少,故而覺得可以留篇介紹文章。

其實我好幾年前就開始用pass了,但直到最近幾個月纔發現passff這個插件。

基本firejail知識

Firejail是一個沙盒軟件,所以可以期待它的功能也就是沙盒軟件的各項功能——文件系統隔離,進程隔離,訪問控制等等。它用到了Linux Namespace等機制以便實現沙盒,而且它本身需要SUID(顯然)。

我本身也在簡單的使用apparmor(最早是爲了限制ruijieclient的權限),那麼它們兩個是什麼關係呢?本來它們兩個是沒太大關係的,畢竟apparmor是直接工作在內核裏的,目的是控制進程的訪問權限以及其能力(比如可以/不可以修改某文件等);而firejail是沙盒,出了沙盒啥都沒了。然而firejail畢竟可以將外部信息暴露給沙盒內的程序,而且也可以進行訪問控制,於是這時候它就和apparmor的部分功能有所重疊。而firejail更是提供了一個apparmor整合模式,使得整個事情更複雜了。

所以,其實我並沒有弄清楚到底它們倆(當交織在一起時)關係是什麼。Arch …