in itchef/cookbooks/cpe_helpers/libraries/cpe_helpers.rb [142:169]
def self.console_user
# memoize the value so it isn't executed multiple times per run
@console_user ||=
if macos?
::Etc.getpwuid(::File.stat('/dev/console').uid).name
elsif linux?
filtered_users = loginctl_users.select do |u|
u['user'] != 'gdm' && u['uid'] >= 1000
end
if filtered_users.empty?
# TODO T54156500: Evaluate whether this is still necessary
CPE::Log.log(
'No console user detected, falling back to machine owner',
:type => 'cpe::helpers.console_user',
:action => 'read_from_machine_owner',
)
machine_owner
else
filtered_users[0]['user']
end
elsif windows?
logged_on_user_name
end
rescue StandardError => e
Chef::Log.warn("Unable to determine user:
nil
end