diff --git a/kerberos/templates/keytab.erb b/kerberos/templates/keytab.erb index e15afbc..867ceca 100644 --- a/kerberos/templates/keytab.erb +++ b/kerberos/templates/keytab.erb @@ -20,16 +20,16 @@ def check_keytab(config, keytab, principals) entries = [] IO.popen(sprintf('%s -k %s', config['klist'], keytab), mode='r') { |f| f.readlines.each do |l| - next unless l =~ / \d+ .*/ + next unless l =~ /[ ]+\d+ .*/ entries << l.split()[1] end } - t = principals & entries.uniq - if t.size != principals.size - return false - else - return true + principals.each do |p| + if not entries.include?(p) + return false + end end + return true end