Audio

是否可以將訪問音頻輸入的程序列入白名單?

  • October 14, 2021

我想我太偏執了,以至於我會安裝一些不好的東西,但還沒有偏執到認為我會給那個糟糕的程序特權……

我想只允許麥克風訪問我知道我允許的程序(最好以我以後可以閱讀列表的方式)。我有什麼辦法可以做到嗎?

您可以阻止特定程序直接訪問特定設備或服務。(例如 Ubuntu使用 snaps 來做到這一點。)但是,Unix 是圍繞協作應用程序設計的,因此在實踐中很難通過允許訪問服務的另一個程序來阻止程序間接訪問服務。例如,一個無法訪問麥克風的程序可能仍然可以創建一個計劃的作業(cron 作業),或者在會話啟動文件中編寫執行此操作的指令等。

要隔離不太受信任的程序,請將它們作為單獨的使用者執行。這將阻止程序訪問您的任何文件,除非您明確共享它們。這種白名單方法對於安全性是必要的。

為了防止使用者sus訪問聲音,請阻止訪問舊式音頻設備/dev/dsp/dev/adsp(我認為現在沒有任何常見應用程序使用)和擷取(*c)設備1 in /dev/snd/. 從啟動文件,例如/etc/rc.local,執行

setfacl -m u:sus:- /dev/adsp /dev/dsp /dev/snd/pcm*c

請注意,此命令必須在每次啟動後執行,/dev安裝後。

確保您沒有執行系統範圍的音頻守護程序,例如pulseaudio,它允許所有登錄控制台的使用者通過它訪問麥克風。(我認為這不是目前發行版中的預設配置)。

某些顯示管理器可能會在登錄時自動授予使用者訪問音頻子系統的權限。(我對顯示管理器的行為不是很了解。)以文本模式登錄並執行startx將繞過這一點。

引用自:https://unix.stackexchange.com/questions/673217