我想阻止非管理员用户执行除少数默认程序之外的任何程序。这包括用户自己创建和拥有的程序文件,或者从可移动媒体下载或复制的程序文件。如何在 Ubuntu 中执行此操作?
答案1
你不能。至少不能有效地。
您可以将所有用户可写磁盘挂载为noexec
,这将禁止运行任何这些磁盘上的二进制文件位置。这通常是/var
、/home
和/tmp
。其他位置通常不应为用户可写入。
这将阻止任何预编译的二进制文件运行。但它不会阻止某人运行 Python 脚本或类似脚本。而且,您几乎可以在 Python 中完成所有使用 C++ 可以做的事情……
试图阻止用户使用诸如此类的东西python
可能bash
会导致系统或多或少完全崩溃。
您也可以研究 apparmour 以限制用户权限。最终,您应该设置威胁和风险模型,并获得比仅允许简单的白名单更详细的问题描述。否则,您可能会意外破坏系统,或留下实际上抵消您所有工作成果的东西……