我有一个基于 Ruby on Rails 的站点,我需要在其中运行 rake assets:precompile
以获得正确的预编译 Assets 。但是,每当我运行此命令时,我的应用程序的 tmp
目录中的所有内容都将恢复为 root 所有(这是一件非常糟糕的事情™,因为我的应用程序需要 www-data
用户拥有所有权)。
如何让 Rails 退出更改权限?
最佳答案
如果您将 rake assets:precompile
作为 root
运行,则此任务生成的所有文件都将属于 root
。您应该将它作为 www-data
(例如使用 sudo -u www-data)以及生产服务器上的任何其他任务/ruby 脚本/rails 控制台运行,以防止弄乱文件权限。为了暂时把事情做好,你应该在继续之前对你的应用程序目录进行 chown -R
关于ruby-on-rails - Ruby on Rails Assets :precompile ownership,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7628947/