class Wright::Provider::User::GnuPasswd

GNU passwd user provider. Used as a provider for {Resource::User} on GNU systems.

Private Instance Methods

comment() click to toggle source
# File lib/wright/provider/user/gnu_passwd.rb, line 43
def comment
  full_name.nil? ? nil : "#{full_name},,,"
end
create_user() click to toggle source
# File lib/wright/provider/user/gnu_passwd.rb, line 12
def create_user
  exec_or_fail('useradd',
               [*user_options, user_name],
               "cannot create user '#{user_name}'")
end
group_list() click to toggle source
# File lib/wright/provider/user/gnu_passwd.rb, line 47
def group_list
  groups.nil? ? nil : groups.join(',')
end
remove_user() click to toggle source
# File lib/wright/provider/user/gnu_passwd.rb, line 24
def remove_user
  exec_or_fail('userdel',
               [user_name],
               "cannot remove user '#{user_name}'")
end
update_user() click to toggle source
# File lib/wright/provider/user/gnu_passwd.rb, line 18
def update_user
  exec_or_fail('usermod',
               [*user_options, user_name],
               "cannot create user '#{user_name}'")
end
user_options() click to toggle source
# File lib/wright/provider/user/gnu_passwd.rb, line 30
def user_options
  options = {
    '-u' => uid,
    '-g' => primary_group,
    '-c' => comment,
    '-G' => group_list,
    '-s' => shell,
    '-d' => home
  }.reject { |_k, v| v.nil? }.flatten
  options << '-r' if system_user?
  options.map(&:to_s)
end