是否有一种方法(如果需要的话)在 Linux Mint 上为一个或多个应用程序组/用户建立白名单,以便可以打开它们?例如:用户 1 和用户 2 只能打开 Firefox,而用户 3 可以打开 Firefox 和 libre office。除用户 4 之外,其他所有用户都受到限制,用户 4 可以打开并执行任何他想做的事情。
答案1
控制谁可以运行给定可执行文件的经典方法foo
是这样的:
- 使
chown
可执行foo
文件属于foo
组。 - 设置权限后
chmod
只有所有者和组可以执行该文件。 - 按照您的意愿将用户分配到组。
如果您需要对系统中的许多(所有?)可执行文件执行此操作,这不是一个好的解决方案。如果您想将给定用户限制为一组狭窄的可能命令,那么您应该研究以下主题受限外壳。
我已经发现屬於。看起来很有希望(虽然我自己从未使用过它):
bdsh 是一个 shell,您可以在其中将命令列入白名单,并且只有这些命令可以执行。
可能存在一些其他(较新的?)类似的解决方案。
编辑:也读过如何限制Linux中的用户命令在 Stack Overflow 上。
答案2
未经测试但可能的解决方案:
- 删除 /usr/bin 上一般用户的“可执行”位(可能还有其他用户)(这可以防止他们读取 /usr/bin 中的任何内容)
- 在 /usr/bin 中创建一个包含授权应用程序硬链接的目录
- 设置 PATH 指向它