Sha256: ab6ae411a278d747f6a66059ed6dd3047214587f56eb5f1b7865d19185368e0d
Contents?: true
Size: 1.18 KB
Versions: 1
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_path}") 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fabric-0.4.1 | lib/fabric/account.rb |