您好我以root身份制作了一个名为whatever
的脚本,并将其保存在/
然后我创建了一个新用户adduser guest
当我通过su - guest
以访客身份登录并尝试使用cd / && ./whatever
我得到permission denied
这很好,但我所要做的就是bash /whatever
并且它有效。
chmod 否 /bin/bash
的正确解法是什么?
答案 0 :(得分:3)
没有!
永远不要触及/bin
中任何内容的权限。您需要更改./whatever
上的权限。您需要为其添加执行权限 - chmod u+x ./whatever
。如果你想让它运行。
但是,如果你想停止某人正在运行它......那么你必须将它设置为不可读。因为您可以阅读的脚本与您可以“运行”的脚本之间没有区别。它们只是一系列命令。
答案 1 :(得分:2)
如果您想允许用户运行shell脚本,您必须为它们提供文件的“执行”和“读取”权限。
如果要阻止用户运行shell脚本,则必须删除“读取”权限。即使文件被标记为可执行文件,用户也无法执行不可读的脚本。
无法允许用户执行但不能读取shell脚本。
同样,没有办法允许用户读取但不能执行shell脚本。