在 CentOS 6 上阻止程序的简单方法?

lba*_*anz 7 centos

我们的一位用户一直在他们的主目录中编译他们自己的程序。通常我们不介意,但是这个特定的程序存在内存泄漏并吞噬了 SWAP。我们多次告诉该用户不要运行该程序,但她不听。

有没有一种简单的方法可以阻止某个程序运行?

小智 24

两种方式:

  • 使用limits.conf分配每个进程的最大分配内存,以便用户
  • cgroup为该用户创建一个以限制他们的总内存使用量

更多细节在这里:https : //unix.stackexchange.com/questions/34334/how-to-create-a-user-with-limited-ram-usage

  • 人们还应该有一个执行政策的系统,而不仅仅是事后禁止用户。 (6认同)
  • @ceejayoz 或者,如果必须实施技术解决方案,至少要从中获得一些乐趣。“你说当你再次运行你的程序时,它删除了你所有的文件?奇怪。好吧,我们告诉你不要再运行它,不是吗?” (6认同)
  • 我不喜欢这里的技术解决方案。尽管多次警告,用户仍表现出伤害服务器及其其他用户的意愿。IT 不应该做额外的工作来把他们关进监狱,如果他们是员工,用户应该失去访问权限并且可能会被解雇。 (4认同)
  • 我会将此作为解决方案。我知道大多数人都同意我们应该禁止用户以阻止他们登录服务器。不幸的是,它在科学研究环境中不是这样工作的。 (3认同)

EEA*_*EAA 11

您正试图通过技术手段解决人类问题。此人故意违反政策。适当的回应是(正如@ceejayoz 上面明智地提到的)摆脱该用户,或者至少删除对相关系统和任何其他类似系统的访问权限。