class Specinfra::Command::Freebsd::Base::User
Public Class Methods
add(user, options)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 35 def add(user, options) command = ['pw', 'user', 'add', escape(user)] command << '-g' << escape(options[:gid]) if options[:gid] command << '-d' << escape(options[:home_directory]) if options[:home_directory] command << '-s' << escape(options[:shell]) if options[:shell] command << '-m' if options[:create_home] command << '-u' << escape(options[:uid]) if options[:uid] if options[:password] command.concat(['&&', 'chpass', '-p', "\'#{options[:password]}\'", escape(user)]) end command.join(' ') end
create(os_info=nil)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 3 def create(os_info=nil) if (os_info || os)[:release].to_i < 7 Specinfra::Command::Freebsd::V6::User else self end end
get_encrypted_password(user)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 52 def get_encrypted_password(user) "getent passwd #{escape(user)} | awk -F: '{ print $2 }'" end
get_maximum_days_between_password_change(user)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 15 def get_maximum_days_between_password_change(user) "pw usershow -n #{escape(user)} | cut -d':' -f 6" end
get_minimum_days_between_password_change(user)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 11 def get_minimum_days_between_password_change(user) 'echo 0' end
update_encrypted_password(user, encrypted_password)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 48 def update_encrypted_password(user, encrypted_password) "chpass -p \'#{encrypted_password}\' #{escape(user)}" end
update_gid(user, gid)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 31 def update_gid(user, gid) "pw user mod #{escape(user)} -g #{escape(gid)}" end
update_home_directory(user, directory)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 19 def update_home_directory(user, directory) "pw user mod #{escape(user)} -d #{escape(directory)}" end
update_login_shell(user, shell)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 23 def update_login_shell(user, shell) "pw user mod #{escape(user)} -s #{escape(shell)}" end
update_uid(user, uid)
click to toggle source
# File lib/specinfra/command/freebsd/base/user.rb, line 27 def update_uid(user, uid) "pw user mod #{escape(user)} -u #{escape(uid)}" end