File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change 2525login_defs_passmindays = attribute ( 'login_defs_passmindays' , value : '7' , description : 'Default password mindays to set in login.defs' )
2626login_defs_passwarnage = attribute ( 'login_defs_passwarnage' , value : '7' , description : 'Default password warnage (days) to set in login.defs' )
2727
28+ system_users = passwd . params ? passwd . params . select { |x | x [ 'uid' ] . to_i < login_defs . UID_MIN . to_i && x [ 'uid' ] . to_i . positive? } : [ ]
29+
30+ system_users_non_login_permitlist = attribute (
31+ 'system_users_non_login_permitlist' ,
32+ value : %w[ sync halt shutdown ] ,
33+ description : 'List of system users which are allowed to log in'
34+ )
35+
2836shadow_group = 'root'
2937shadow_group = 'shadow' if os . debian? || os . suse? || os . name == 'alpine'
3038container_execution = begin
291299 its ( 'users' ) { should be_empty }
292300 end
293301end
302+
303+ control 'os-15' do
304+ impact 1.0
305+ title 'All system users are non-login'
306+ desc 'The login of system users should be disabled'
307+ system_users . each do |user |
308+ next if system_users_non_login_permitlist . include? user [ 'user' ]
309+
310+ describe OpenStruct . new ( user ) do
311+ its ( 'shell' ) { should be_in [ '/bin/false' , '/sbin/nologin' , '/usr/bin/false' , '/usr/sbin/nologin' ] }
312+ end
313+ end
314+ end
You can’t perform that action at this time.
0 commit comments