令人惊讶的是,我没有发现有人尝试这样做,这就是我提出这个问题的原因。
事情是我有一个文件,我在其中存储一些数据。我希望在我的 Rails 项目中有一个选项,您可以在其中“导出”此文件中定义的一些对象。
这个文件属于 root,所以如果我尝试使用 File.read("myfile.json") 读取它,它会失败并出现以下错误:
#<Errno::EACCES: Permission denied @ rb_sysopen - /opt/rb/etc/cep/state.json>
有什么方法可以让我以 root 身份读取它吗?也许解决方案是从 ruby 运行“sudo cat myfile.json”作为命令并将结果注入(inject)到变量中?
我的目标是将此文件的内容放入用户将下载的另一个文件中,以便稍后他可以上传此文件并拥有之前的所有对象。很奇怪没有看到更多的人尝试这样做,所以我不知道我是否在问一些愚蠢的事情。我在谷歌中没有找到关于此的信息,也许无法使用 File.open 以 sudo 打开文件。
最佳答案
快速解决此问题的一个简单方法是更改文件的所有者。
sudo chown $USER myfile.json
关于ruby-on-rails - 从 Ruby on Rails 中以 sudo 方式读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63487442/