如何授予执行权限而没有读取权限?

如何授予执行权限而没有读取权限?

我想授予脚本的执行权限,但不授予读取权限,因为我不想让用户读取脚本的内容。但这似乎行不通,我发布了我正在做的事情并寻求建议,

子目录 demo 归 root 用户和 root 组所有,

案例 1,授予执行+读取权限,有效

chmod 775 /home/yhd/demo/text

然后用户 yhd 就可以毫无问题地执行文本命令

情况 2,只设置执行权限,不起作用

chmod 771 /home/yhd/demo/text

然后用户 yhn 无法执行文本命令,错误信息为权限被拒绝

答案1

脚本的问题在于,运行的不是脚本,而是解释器bash在这种情况下)。

解释器需要读剧本。

自从阅读如果该文件被禁止,则无法在解释器内执行。

这与程序不同,因为程序是直接加载到内存中的。

一种解决方案是使用编译器生成与脚本等效的 C 程序,例如沙门氏菌病,您可以从这里或者从这个指导

答案2

如何授予执行权限而没有读取权限?

不,这是不可能的:解释器需要读取脚本。什么@jcbermu意思是这个:https://unix.stackexchange.com/questions/34202/can-a-script-be-executable-but-not-readable

相关内容