Linux 中是否有程序可以使用某种控制列表来控制允许哪些进程运行?
这样,当您尝试运行不在列表中的进程时,您将收到通知并询问是否将其添加到允许的进程列表中。
答案1
不。Unix 安全模型基于用户和资源。它旨在控制哪些用户可以访问哪些资源。资源大多以文件的形式公开,访问控制是通过文件权限来完成的。
进程只是用户的代理。对于用户可以运行的代码没有限制。哪些方面有限制文件用户可以运行,但这通常不是实际的限制,因为用户可以将新代码放入新文件中并执行。
您可以围绕可执行文件设置一个包装脚本来提示用户“您确定要运行此程序吗?”。但这会非常烦人且毫无意义:用户可以直接运行该程序(或安装自己的副本)。
或许有办法解决你遇到的实际问题,但它不会是“允许进程运行”。
1仅在两种情况下存在限制:提升权限的可执行文件的权限 (setuid/setgid) 限制哪些用户可以提升权限,而根本无法创建可执行文件的帐户(受限帐户)无法执行任意代码。