如何在特定用户的Linux中阻止特定命令?

时间:2015-05-21 06:32:03

标签: linux unix ubuntu centos rhel

假设我在ubuntu中创建了一个新用户TEST,我需要阻止除cp,ssh,exit之外的所有命令。请帮助我。我是linux新手。

2 个答案:

答案 0 :(得分:1)

或者,考虑使用一些受限制的shell ,例如rbash,您可以将其设置为用户的登录名& ssh shell(使用chsh和/或配置他/她的~/.ssh/config);当然正确设置PATH,它可能包含一个~/bin/目录,其中包含/bin/cp/usr/bin/ssh等的符号链接。您可能想要~/bin/不属于用户且不可写的。

要小心:如果您的用户比您的实验更多,您可能会留下他/她可以利用的漏洞。通过至少明确禁止(在单词中)事物,使其成为社会/合同问题。

您可能还想了解有关chroot和/或setuid的更多信息;另见this answer中的参考文献。

请注意,如果您的用户获得ssh,他可能会获得scp并且能够破解他的帐户(例如,通过将可执行文件添加到他的~/bin/ ....)

答案 1 :(得分:0)

我认为您需要创建一个新组,在其中设置要使用的所有命令,并将TEST用户添加到该组。