Class: Inspec::Resources::AixUser

Inherits:
UnixUser show all
Defined in:
lib/resources/user.rb

Instance Attribute Summary

Attributes inherited from UnixUser

#id_cmd, #inspec

Attributes inherited from UserInfo

#inspec

Instance Method Summary collapse

Methods inherited from UnixUser

#initialize, #parse_id_entries, #parse_value

Methods inherited from UserInfo

#initialize

Methods included from Converter

#convert_to_i

Constructor Details

This class inherits a constructor from Inspec::Resources::UnixUser

Instance Method Details

#credentials(username) ⇒ Object



319
320
321
322
323
324
325
326
327
328
329
330
331
332
# File 'lib/resources/user.rb', line 319

def credentials(username)
  cmd = inspec.command(
    "lssec -c -f /etc/security/user -s #{username} -a minage -a maxage -a pwdwarntime",
  )
  return nil if cmd.exit_status != 0

  user_sec = cmd.stdout.chomp.split("\n").last.split(':')

  {
    mindays:  user_sec[1].to_i * 7,
    maxdays:  user_sec[2].to_i * 7,
    warndays: user_sec[3].to_i,
  }
end

#identity(username) ⇒ Object



293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/resources/user.rb', line 293

def identity(username)
  id = super(username)
  return nil if id.nil?
  # AIX 'id' command doesn't include the primary group in the supplementary
  # yet it can be somewhere in the supplementary list if someone added root
  # to a groups list in /etc/group
  # we rearrange to expected list if that is the case
  if id[:groups].first != id[:group]
    id[:groups].reject! { |i| i == id[:group] } if id[:groups].include?(id[:group])
    id[:groups].unshift(id[:group])
  end

  id
end

#meta_info(username) ⇒ Object



308
309
310
311
312
313
314
315
316
317
# File 'lib/resources/user.rb', line 308

def meta_info(username)
  lsuser = inspec.command("lsuser -C -a home shell #{username}")
  return nil if lsuser.exit_status != 0

  user = lsuser.stdout.chomp.split("\n").last.split(':')
  {
    home:  user[1],
    shell: user[2],
  }
end