From 5675bd54cf7dc11a234bb305c64c801c4eeaea62 Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 18 Jun 2013 10:32:47 -0700 Subject: fix bug with vagrant ssh keys --- lib/leap_cli/commands/vagrant.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/leap_cli/commands/vagrant.rb b/lib/leap_cli/commands/vagrant.rb index f7505f2..a60e176 100644 --- a/lib/leap_cli/commands/vagrant.rb +++ b/lib/leap_cli/commands/vagrant.rb @@ -65,11 +65,17 @@ module LeapCli; module Commands public + # + # returns the path to a vagrant ssh key file. + # + # if the vagrant.key file is owned by root or ourselves, then + # we need to make sure that it owned by us and not world readable. + # def vagrant_ssh_key_file file_path = File.expand_path('../../../vendor/vagrant_ssh_keys/vagrant.key', File.dirname(__FILE__)) Util.assert_files_exist! file_path - if File.new(file_path).stat.uid == Process.euid - # if the vagrant.key file is owned by ourselves, we need to make sure that it is not world readable + uid = File.new(file_path).stat.uid + if uid == 0 || uid == Process.euid FileUtils.cp file_path, '/tmp/vagrant.key' FileUtils.chmod 0600, '/tmp/vagrant.key' file_path = '/tmp/vagrant.key' -- cgit v1.2.3