Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 只有一组shell脚本才能执行shell脚本_Linux_Bash_Shell - Fatal编程技术网

Linux 只有一组shell脚本才能执行shell脚本

Linux 只有一组shell脚本才能执行shell脚本,linux,bash,shell,Linux,Bash,Shell,我在/usr/bin/myapp上有一个shell脚本,在diff文件夹上有另外12组脚本(比如/opt/myapp)。我想要一个只有来自/opt/myapp的脚本才能在/usr/bin/myapp中使用或执行脚本的解决方案。这是为了保护/usr/bin/myapp上的脚本,除了/opt/myapp之外,没有其他人应该使用它 也接受任何其他解决方案。提前感谢标准方法是仅为特殊组授予文件夹的“执行”权限(或脚本的“读取”和“执行”权限) (请注意,仅限制脚本的“执行”权限是不够的,因为读取权限足以

我在
/usr/bin/myapp
上有一个shell脚本,在diff文件夹上有另外12组脚本(比如
/opt/myapp
)。我想要一个只有来自
/opt/myapp
的脚本才能在/usr/bin/myapp中使用或执行脚本的解决方案。这是为了保护
/usr/bin/myapp
上的脚本,除了
/opt/myapp
之外,没有其他人应该使用它


也接受任何其他解决方案。提前感谢

标准方法是仅为特殊组授予文件夹的“执行”权限(或脚本的“读取”和“执行”权限)

(请注意,仅限制脚本的“执行”权限是不够的,因为读取权限足以执行脚本,例如
sh/path/to/script


然后,您可以向其他脚本授予组权限,例如通过sudo(使用一些shell包装)或编写您自己的二进制包装。

为什么首先将脚本存储在usr/bin中,使用专用文件夹,为什么不使用带有密码的zip。我在/usr/bin中有密码,那么无论如何只有您自己可以执行这些脚本。请添加更多详细信息,不确定您的目标。它可能比看起来更简单。正确的方法是使用@Martin解决方案,但这会增加一系列可能的其他问题。@Dinesh:这看起来像是设计缺陷。基本上,执行脚本的权限取决于是否具有脚本的读取权限,而不是调用方的位置。也许最好将12个“脚本”编码为“主脚本”中的函数,而不是将它们作为单独的文件。在这种情况下,只有真正恶意的用户才能找到这十二段神圣的代码,他需要故意破坏你的设计。Thx Martin for u r inputs。。将尝试此操作,并向您提供相同的更新