Class: Inspec::Resources::LinuxUser
- Includes:
- CommentParser, PasswdParser
- Defined in:
- lib/inspec/resources/users.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from UnixUser
#id_cmd, #inspec, #list_users_cmd
Attributes inherited from UserInfo
Instance Method Summary collapse
Methods included from CommentParser
Methods included from PasswdParser
#parse_passwd, #parse_passwd_line
Methods inherited from UnixUser
#identity, #initialize, #list_users, #parse_id_entries, #parse_value
Methods inherited from UserInfo
#collect_user_details, #identity, #initialize, #list_users, #user_details
Methods included from Converter
Constructor Details
This class inherits a constructor from Inspec::Resources::UnixUser
Instance Method Details
#credentials(username) ⇒ Object
456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 |
# File 'lib/inspec/resources/users.rb', line 456 def credentials(username) cmd = inspec.command("chage -l #{username}") return nil if cmd.exit_status != 0 params = SimpleConfig.new( cmd.stdout.chomp, assignment_regex: /^\s*([^:]*?)\s*:\s*(.*?)\s*$/, group_re: nil, multiple_values: false ).params last_change = params["Last password change"] dparse = Date.parse "#{last_change}" rescue nil dayslastset = (Date.today - dparse).to_i if dparse cmd = inspec.command("lastb -w -a | grep #{username} | wc -l") badpasswordattempts = convert_to_i(cmd.stdout.chomp) if cmd.exit_status == 0 { mindays: convert_to_i(params["Minimum number of days between password change"]), maxdays: convert_to_i(params["Maximum number of days between password change"]), warndays: convert_to_i(params["Number of days of warning before password expires"]), passwordage: dayslastset, badpasswordattempts: badpasswordattempts, } end |
#meta_info(username) ⇒ Object
444 445 446 447 448 449 450 451 452 453 454 |
# File 'lib/inspec/resources/users.rb', line 444 def (username) cmd = inspec.command("getent passwd #{username}") return nil if cmd.exit_status != 0 # returns: root:x:0:0:root:/root:/bin/bash passwd = parse_passwd_line(cmd.stdout.chomp) { home: passwd["home"], shell: passwd["shell"], } end |