【问题标题】:Bundler installs file with the wrong permission on deploymentBundler 使用错误的部署权限安装文件
【发布时间】:2014-05-26 23:50:08
【问题描述】:

由于某些原因,gem random_unique_id 的文件在部署时安装时权限错误:

# ls -la /var/www/projectx/shared/bundle/ruby/2.1.0/gems/random_unique_id-0.2.0
total 48
drwxrwxr-x   5 projectx projectx 4096 May 26 23:36 .
drwxrwxr-x 148 projectx projectx 4096 May 26 23:36 ..
-rw-------   1 projectx projectx  320 May 26 23:36 Gemfile
drwxrwxr-x   2 projectx projectx 4096 May 26 23:36 gemfiles
-rw-------   1 projectx projectx  184 May 26 23:36 .gitignore
drwxrwxr-x   3 projectx projectx 4096 May 26 23:36 lib
-rw-------   1 projectx projectx 1067 May 26 23:36 LICENSE.txt
-rw-------   1 projectx projectx  223 May 26 23:36 Rakefile
-rw-------   1 projectx projectx 1000 May 26 23:36 random_unique_id.gemspec
-rw-------   1 projectx projectx 2934 May 26 23:36 README.md
drwxrwxr-x   2 projectx projectx 4096 May 26 23:36 test
-rw-------   1 projectx projectx  127 May 26 23:36 .travis.yml

它们应该被所有人阅读。其他 gem 有正确的权限:

# ls -la /var/www/projectx/shared/bundle/ruby/2.1.0/gems/sorcery-0.8.5/
total 76
drwxrwxr-x   4 projectx projectx  4096 May 26 23:36 .
drwxrwxr-x 148 projectx projectx  4096 May 26 23:36 ..
-rw-r--r--   1 projectx projectx  5802 May 26 23:36 CHANGELOG.md
-rw-r--r--   1 projectx projectx    55 May 26 23:36 .document
-rw-r--r--   1 projectx projectx   733 May 26 23:36 Gemfile
-rw-r--r--   1 projectx projectx   503 May 26 23:36 Gemfile.rails4
-rw-r--r--   1 projectx projectx   865 May 26 23:36 .gitignore
drwxrwxr-x   4 projectx projectx  4096 May 26 23:36 lib
-rw-r--r--   1 projectx projectx  1083 May 26 23:36 LICENSE.txt
-rw-r--r--   1 projectx projectx   117 May 26 23:36 Rakefile
-rw-r--r--   1 projectx projectx 10309 May 26 23:36 README.md
-rw-r--r--   1 projectx projectx     8 May 26 23:36 .rspec
-rw-r--r--   1 projectx projectx  1309 May 26 23:36 sorcery.gemspec
drwxrwxr-x   8 projectx projectx  4096 May 26 23:36 spec
-rw-r--r--   1 projectx projectx   329 May 26 23:36 .travis.yml
-rw-r--r--   1 projectx projectx     5 May 26 23:36 VERSION

我正在使用 Bundler 1.6.2 安装这些 gem,并且 Gemfile 包含这样的 random_unique_id:

gem "random_unique_id", "~> 0.2.0"

我正在使用 Capistrano 3.2.1(Rake 版本:10.3.1)和 capistrano-bundler 1.1.2 进行部署。生成的捆绑线如下所示:

cd /var/www/projectx/releases/20140526233202 && /usr/local/rvm/bin/rvm default do bundle install --binstubs /var/www/projectx/shared/bin --path /var/www/projectx/shared/bundle --without development test --deployment --quiet

有什么想法会导致这个问题吗?

免责声明:我写了那个 gem,random_unique_id,但我看不出它有什么影响。

【问题讨论】:

    标签: ruby-on-rails capistrano bundler


    【解决方案1】:

    我对此感到非常惊讶,但 gems 文件内部的权限并未标准化,它们只是从开发人员对自己文件的任何权限中复制而来。当我打包该 gem 时,我的主目录中的所有文件都是 0600,并且这些权限保留给安装该 gem 的人。

    我认为这是一个错误,tar 没有忽略文件权限的选项吗?我不确定该向谁报告此错误。是红宝石项目吗?红宝石?宝石?捆绑器?

    我通过发布具有更好文件权限的新版本 random_unique_id v0.2.1 解决了问题。

    【讨论】:

      猜你喜欢
      • 2019-09-12
      • 2020-07-18
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多