Sha256: 1068de718897be4ed384ea255b154472077ac2c09d5d92a237658a88aff990df
Contents?: true
Size: 1.18 KB
Versions: 9
Compression:
Stored size: 1.18 KB
Contents
class Account include DataMapper::Resource property :id, Serial belongs_to :user belongs_to :server def add_user self.server.execute_command("sudo /usr/sbin/useradd -m #{self.user.name}") end def add_ssh_directory self.server.execute_command("sudo mkdir #{self.user.ssh_config_directory_path}") self.server.execute_command("sudo chown #{self.user.name} #{user.ssh_config_directory_path}") self.server.execute_command("sudo chmod 700 #{self.user.ssh_config_directory_path}") end def write_ssh_key self.server.execute_command("sudo touch #{self.user.authorized_keys_file}") self.server.execute_command("echo '#{self.user.authorized_keys_file}' | sudo tee #{self.user.authorized_keys_file_path}") self.set_ssh_key_permissions end def add_to_groups self.user.groups.each do |group| self.server.execute_command("sudo /usr/sbin/usermod -G#{group.name} #{self.user.name}") end end protected def set_ssh_key_permissions self.server.execute_command("sudo chown #{self.user.name} #{self.user.authorized_keys_file_path}") self.server.execute_command("sudo chmod 600 #{self.user.authorized_keys_file_path}") end end
Version data entries
9 entries across 9 versions & 1 rubygems