阻止非root用户运行shell脚本

时间:2014-11-13 18:28:49

标签: bash

您好我以root身份制作了一个名为whatever的脚本,并将其保存在/

然后我创建了一个新用户adduser guest

当我通过su - guest以访客身份登录并尝试使用cd / && ./whatever

运行脚本时

我得到permission denied这很好,但我所要做的就是bash /whatever并且它有效。

chmod /bin/bash的正确解法是什么?

2 个答案:

答案 0 :(得分:3)

没有!

永远不要触及/bin中任何内容的权限。您需要更改./whatever上的权限。您需要为其添加执行权限 - chmod u+x ./whatever。如果你想让它运行。

但是,如果你想停止某人正在运行它......那么你必须将它设置为不可读。因为您可以阅读的脚本与您可以“运行”的脚本之间没有区别。它们只是一系列命令。

答案 1 :(得分:2)

如果您想允许用户运行shell脚本,您必须为它们提供文件的“执行”和“读取”权限。

如果要阻止用户运行shell脚本,则必须删除“读取”权限。即使文件被标记为可执行文件,用户也无法执行不可读的脚本。

无法允许用户执行但不能读取shell脚本。

同样,没有办法允许用户读取但不能执行shell脚本。