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

Lin*_* Ma 4 linux permissions

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

子目录 demo 由 root 用户和 root 组拥有,

情况1,授予执行+读取权限,有效

chmod 775 /home/yhd/演示/文本

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

情况2,仅授予执行权限,不起作用

chmod 771 /home/yhd/演示/文本

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

jcb*_*rmu 6

脚本的问题在于脚本不是正在运行的,而是解释器bash在本例中)。

口译需要阅读脚本。

由于禁止读取文件,因此无法在解释器内执行它。

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

一种解决方案是使用编译器来生成与脚本等效的 C 程序,例如SHC ,您可以从此处或本指南下载该程序。


Leo*_*iro 5

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

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