gpt4 book ai didi

ruby - 执行脚本的访问权限

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:22 24 4
gpt4 key购买 nike

我知道可以独立设置文件的三种权限(读、写、执行),因此每个用户( super 用户、组、普通用户)每个文件有八种可能性。基于这个事实,我曾相信 super 用户可以将某个脚本文件(在我的例子中是一个 Ruby 文件)设置为对普通用户可执行但不可读/写。但在 this question 的背景下, Wayne Conrad 和 Linuxios 指出,脚本不能由没有该文件读取权限的用户运行。

  1. 为什么会这样?如果用户需要读取权限才能执行它,那么为什么可以独立设置三种权限类型?特别是,将脚本文件权限设置为可执行但不可读是什么意思?

  2. 是否有某种方法(可能是 hackish)使脚本文件可运行但特定用户不可读?

最佳答案

对于脚本文件(python、perl、ruby、shell 等),文件本身并不是通常意义上的“执行”。相反,用户的 shell 会打开文件,就像 fork/exec 一样,发现 shebang,然后安排启动请求的解释器,并将文件的其余部分传递给它。如果用户对该文件没有读取权限,那么显然用户的 shell 无法读取它,并且此设置失败。

二进制命令不是这种情况,它确实可以在没有读取权限的情况下设置,并且仍然有效。

关于ruby - 执行脚本的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com