是否可以将程序列入白名单,限制其访问音频输入?

是否可以将程序列入白名单,限制其访问音频输入?

我想我足够偏执,以至于我会安装一些不好的东西,但又没有偏执到认为我会给那个不好的程序特权......

我只想允许麦克风访问程序我知道我允许(最好是以一种我可以稍后阅读该列表的方式)。我有什么办法可以做到这一点吗?

答案1

您可以阻止特定程序访问特定设备或服务直接地。 (例如Ubuntu用快照来做这个.) 然而,Unix 是围绕协作应用程序设计的,因此实际上很难阻止一个程序通过另一个允许访问服务的程序来间接访问该服务。例如,无法访问麦克风的程序可能仍然可以创建可以访问麦克风的计划作业(cron 作业),或者在会话启动文件中写入执行此操作的指令等。

要隔离不太受信任的程序,请以单独的用户身份运行它们。这将阻止程序访问您的任何文件,除非您明确共享它们。为了安全起见,这种白名单方法是必要的。

为了防止用户sus访问声音,请阻止访问旧式音频设备/dev/dsp/dev/adsp我认为现在任何常见应用程序都不会使用这些设备)和捕获(*c ) 设备1/dev/snd/。从启动文件(例如 )/etc/rc.local运行

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

/dev请注意,此命令必须在安装后的每次引导时运行。

确保您没有运行系统范围的音频守护程序(例如pulseaudio),该守护程序允许所有登录控制台的用户通过它访问麦克风。 (我不认为这是当前发行版中的默认配置)。

某些显示管理器可能会在用户登录时自动授予对音频子系统的访问权限。 (我对显示管理器的行为不是很了解。)以文本模式登录并运行startx将绕过此问题。

相关内容