Sha256: 7e203e46f0a883c9863c22f848f0b3ddd2405ac6fa71bec20c572784592927ea

Contents?: true

Size: 897 Bytes

Versions: 7

Compression:

Stored size: 897 Bytes

Contents

module Pvcglue
  class Packages
    class Users < Pvcglue::Packages
      def installed?
        result = connection.run_get_stdout(:root, '', "getent passwd #{user_name} && groups #{user_name}")
        result =~ /^#{user_name}:/ && result =~ /#{user_name} sudo/
      end

      def install!
        # connection.run!(:root, '', 'mkdir -p ~/.pvc && chmod 600 ~/.pvc')  # TODO:  Still needed?
        # connection.run!(:root, '', "useradd -d /home/#{user_name} -G sudo -m -U #{user_name} && usermod -s /bin/bash #{user_name}")

        connection.run!(:root, '', "useradd -d /home/#{user_name} -G sudo -m -U #{user_name}")
        connection.run!(:root, '', "usermod -s /bin/bash #{user_name}")
        # TODO:  Lock down the sudo permissions to just let the user deploy
        connection.run!(:root, '', "echo '#{user_name} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers")
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pvcglue-0.9.6 lib/pvcglue/packages/users.rb
pvcglue-0.9.5 lib/pvcglue/packages/users.rb
pvcglue-0.9.4 lib/pvcglue/packages/users.rb
pvcglue-0.9.3 lib/pvcglue/packages/users.rb
pvcglue-0.9.2 lib/pvcglue/packages/users.rb
pvcglue-0.9.1 lib/pvcglue/packages/users.rb
pvcglue-0.9.0 lib/pvcglue/packages/users.rb