Ruby on rails Bundler在部署时安装具有错误权限的文件
由于某些原因,在部署时安装gem random_unique_id的文件时,最终使用了错误的权限: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-
# 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解决了这个问题,该版本具有更好的文件权限