ruby-on-rails - 从 Ruby on Rails 中以 sudo 方式读取文件

标签 ruby-on-rails ruby file io permissions

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

事情是我有一个文件,我在其中存储一些数据。我希望在我的 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/

相关文章:

ruby-on-rails - rails : How to disable ActiveStorage Analyzers and Previewers

jquery - 在 rails-jquery-autocomplete 中使用额外的搜索字段

ruby-on-rails - 在 Ruby on Rails 中运行每个测试需要多长时间?

file - 如何将两个文件合并为一个?

php - 使用PHP播放声音

ruby-on-rails - 访问 Rakefile 中的命名路由

ruby-on-rails - Windows 上的 PostgreSQL Ruby on Rails 5 - fe_sendauth : no password supplied

ruby - 将 Json 响应与 Json 文本文件进行比较

ruby - 如何在 .conf 文件中添加动态代码/ruby 代码

java - 如何使用字符串引用类中的公共(public) int