class Inspec::Resources::AixUser

Public Instance Methods

credentials(username) click to toggle source
# File lib/inspec/resources/users.rb, line 523
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,
    passwordage: nil,
    badpasswordattempts: nil,
  }
end
identity(username) click to toggle source
Calls superclass method Inspec::Resources::UnixUser#identity
# File lib/inspec/resources/users.rb, line 496
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) click to toggle source
# File lib/inspec/resources/users.rb, line 512
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