Ruby on rails Bundler在部署时安装具有错误权限的文件

Ruby on rails Bundler在部署时安装具有错误权限的文件,ruby-on-rails,capistrano,bundler,Ruby On Rails,Capistrano,Bundler,由于某些原因,在部署时安装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-

由于某些原因,在部署时安装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安装这些gems,Gemfile包含如下随机\u unique\u id:

gem "random_unique_id", "~> 0.2.0"
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
我正在使用Capistrano3.2.1(Rake版本:10.3.1)和CapistranoBundler 1.1.2进行部署。生成的捆绑线如下所示:

gem "random_unique_id", "~> 0.2.0"
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,但我不明白这会有什么影响。

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

我会认为这是一个bug,难道TAR没有忽略文件权限的选项吗?但我不确定该向谁报告此错误。是ruby项目吗?鲁比格姆?宝石捆绑机

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