Wrote an inspec-test for groups. The groups are asigned to the user pi on bash but I got an empty array from inspec-test.
Here the bash output:
id
uid=1000(pi) gid=1000(pi) Gruppen=1000(pi),4(adm),20(dialout),27(sudo),33(www-data),44(video),100(users),998(docker),999(gpio)
When I run my inspec I got this:
× users-1.0: Ensure users are known (1 failed)
✔ User pi should exist
✔ User pi group should eq "pi"
× User pi groups should eq ["pi", "sudo"]
expected: ["pi", "sudo"]
got: []
(compared using ==)
✔ User pi home should eq "/home/pi"
In my rb-file I wrote this:
users = {
:pi => {
:uname => 'pi',
:gname => 'pi',
:groups => [
'adm',
'dialout',
'sudo',
'www-data',
'video',
'users',
'docker',
'gpio'
],
:home => '/home/pi'
}
}
...
control 'users-1.0' do
impact 1.0
title 'Ensure users are known'
users.each do |key, value|
describe user(value[:uname]) do
it { should exist }
its('group') { should eq "#{value[:gname]}" }
its('groups') { should eq [ 'pi', 'sudo' ] }
its('home') { should eq "#{value[:home]}" }
#its('shell') { should eq '/bin/bash' }
#its('mindays') { should eq 0 }
#its('maxdays') { should eq 90 }
#its('warndays') { should eq 8 }
end
end
end
I expected to see an array of groups from user pi.
I don't know how to start searching. I'm a inspec newbee.
Thanks