首页 > 解决方案 > 从 Ruby on Rails 以 sudo 形式读取文件

问题描述

令人惊讶的是,我没有发现有人试图这样做,这就是我提出这个问题的原因。

事情是我有一个文件,我在其中存储一些数据。我想在我的 rails 项目中有一个选项,您可以在其中“导出”此文件中定义的一些对象。

这个文件属于根目录,所以如果我尝试使用 File.read("myfile.json") 读取它,它会失败并出现以下错误:

#<Errno::EACCES: Permission denied @ rb_sysopen - /opt/rb/etc/cep/state.json>

有没有办法我可以以root身份阅读它?也许解决方案是从 ruby​​ 运行“sudo cat myfile.json”作为命令并将结果注入变量?

我的目标是将此文件的内容放在用户将下载的另一个文件中,以便稍后他可以上传此文件并拥有之前的所有对象。没有看到更多人尝试这样做很奇怪,所以我不知道我是否在问一些愚蠢的问题。我在 google 中没有找到关于此的信息,也许无法使用 File.open 以 sudo 的形式打开文件。

标签: ruby-on-railsrubyfileiopermissions

解决方案


快速解决它的一个简单方法是更改​​文件的所有者。

sudo chown $USER myfile.json


推荐阅读