是否有可能阻止用户在 Linux 计算机上运行某些程序?是否有白名单方法?黑名单?
答案1
答案2
这个问题的答案取决于您是否想要黑名单或白名单解决方案。
白名单实际上相当简单。使用与 Ubuntu 和许多其他发行版相同的方法。为特定程序或程序组创建一个组,将可执行文件的组设置为该组,然后将用户添加到该组(如果您希望他们能够访问它)。这就是在 Ubuntu(和其他发行版)上访问 sudo、打印机和一大堆其他东西的方式。
黑名单实际上更难,但在我看来这并不是一件坏事。我认为黑名单本质上不太安全。事实上,我真的想不出一种不将其视为伪白名单的方法,即每个人都是相关组的成员,您只需删除那些您不想要的人。
答案3
使用组并拒绝执行程序。或者您还想了解更多?
答案4
如果您想授予人们有限的 shell 访问权限,请查看 rbash。它为用户提供了各种限制。还可以查看 PAM 的 limits.conf(Ubuntu 上的 /etc/securit/limits.conf)。第三个选项是为您的用户创建一个 jail/chroot 环境,您可以在其中精确决定他们可以访问哪些二进制文件和库。
其他人也指出使用权限、noexec 和 ACL 来实现这一点。这真的取决于你的需求,哪种解决方案是最好的。