diff options
author | elijah <elijah@riseup.net> | 2016-07-01 22:38:09 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2016-07-01 22:38:09 -0700 |
commit | f354e8fa66e49bd989aba196488bfc12f27a92ac (patch) | |
tree | a232e682ba515c485cea51261c0fbdc74386859e /lib/leap_cli/util/vagrant.rb | |
parent | 5780f5dcc024d4f140fe8f6e8dc3f7c4e905a8ec (diff) |
fix access to vagrant key file
Diffstat (limited to 'lib/leap_cli/util/vagrant.rb')
-rw-r--r-- | lib/leap_cli/util/vagrant.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/leap_cli/util/vagrant.rb b/lib/leap_cli/util/vagrant.rb new file mode 100644 index 00000000..c67ea4f1 --- /dev/null +++ b/lib/leap_cli/util/vagrant.rb @@ -0,0 +1,26 @@ +require 'fileutils' + +module LeapCli + module Util + module Vagrant + + # + # returns the path to a vagrant ssh private 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 self.vagrant_ssh_key_file + file_path = Path.vagrant_ssh_priv_key_file + Util.assert_files_exist! file_path + uid = File.new(file_path).stat.uid + if uid == 0 || uid == Process.euid + FileUtils.install file_path, '/tmp/vagrant.key', :mode => 0600 + file_path = '/tmp/vagrant.key' + end + return file_path + end + + end + end +end
\ No newline at end of file |