gpt4 book ai didi

ruby - 我可以允许 ruby​​ 脚本读取文件但不允许调用脚本的用户吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:01 25 4
gpt4 key购买 nike

我在 Linux 系统上安装了一个 ruby​​ 脚本 (script.rb),它“需要”另一个文件 (required.rb) 和一系列自定义方法。

我不想让我的用户阅读 required.rb。

如果我删除读取权限(即 chmod 600 required.rb),然后尝试以用户身份运行我的脚本,我会收到以下错误:

没有要加载的文件 --/etc/required.rb

有没有办法允许 ruby​​ 读取这个必需的文件但阻止用户看到它?

最佳答案

进程是否可以读取文件由所述进程的有效 UID 控制。如果更改文件的权限,则用户进程(包括 ruby​​ 进程)无法读取它。

一种解决方案是让您的 ruby​​ 解释器归其他人所有,然后将其设置为 setuid,但这将赋予它读取这些“ protected ”文件的能力,而不管它运行什么脚本。简而言之,不要这样做。

另一种选择是将数据保存在文件系统以外的其他地方,然后为此使用单独的身份验证系统。

在我看来,正确的方法是在您的脚本中包含所有方法,但使用某种 AAA 工具来限制对您不希望用户运行的方法的访问。然后,您可以使用任何 AAA 后端来验证您的用户(LDAP、密码文件等)。

关于ruby - 我可以允许 ruby​​ 脚本读取文件但不允许调用脚本的用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8338311/

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