Method: Puppet::Util::POSIX#uid

Defined in:
lib/vendor/puppet/util/posix.rb

#uid(user) ⇒ Object

Get the UID of a given user, whether a UID or name is provided



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/vendor/puppet/util/posix.rb', line 115

def uid(user)
  begin
    user = Integer(user)
  rescue ArgumentError
    # pass
  end
  if user.is_a?(Integer)
    return nil unless name = get_posix_field(:passwd, :name, user)
    uid = get_posix_field(:passwd, :uid, name)
    check_value = uid
  else
    return nil unless uid = get_posix_field(:passwd, :uid, user)
    name = get_posix_field(:passwd, :name, uid)
    check_value = name
  end
  if check_value != user
    return search_posix_field(:passwd, :uid, user)
  else
    return uid
  end
end