linux - 我希望 shell 脚本可执行但不可读

标签 linux shell permissions

我创建了一个脚本,我希望我们共享系统上的其他用户执行但不能读取。我将权限设置为可执行,但撤销了 R/W权利。

---x--x--x 1 dilletante staff 0 2013-04-02 11:42 expect.sh

然而脚本执行失败...原因很简单..解释器也需要阅读脚本

我想要一个解决方法(如果有的话)。我可以将它嵌入到某种编译语言中吗?那行得通吗? 如果是,您能否指出我可以学习如何这样做的资源..

最佳答案

shell 必须能够读取脚本才能执行它。如果它是一个脚本,你就是在要求不可能的事情。

您当然可以对可执行程序使用 111 权限(由 ld 命令生成,通常由您选择的已编译实现语言的编译器调用)。所有者可以随时更改读取程序的权限,但使用 511 权限比使用 111 权限更常规。

通常有针对特定脚本语言的编译器会生成与该脚本等效的 C 程序:

等等

关于linux - 我希望 shell 脚本可执行但不可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15757357/

相关文章:

linux - Linux 集群上共享图像文件夹的最佳实践?

linux - 出现错误时从 bash 函数可靠退出

php - 使用 mkdir 和 fopen 通过 https 连接上传文件/在 webroot 外部创建文件夹

ruby-on-rails-3 - 在 S3 存储桶中设置对象的所有者

c - 使用 C 与 Shell 交互

java - Jmeter 插件执行抛出 ArrayIndexOutOfBoundsException

linux - monit 从启动程序命令中删除引号

bash - 用于在 bash printf 中着色的 ANSI 转义码

linux - 从文件名中提取数字

java - 在java中递归设置777权限而不使用NIO