Если я пытаюсь выполнить аутентификацию с помощью таблицы ключей Kerberos несколько раз параллельно, я случайно получаю сообщения об ошибках, в которых говорится, что кэш учетных данных поврежден.
Я мог бы воспроизвести эту проблему с помощью следующего сценария. Однако в моем реальном случае использования есть процессы, вызывающие kinit
одновременно, и я не могу их контролировать:
kdestroy
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK" &
kinit $USER@$REALM -k -t $HOME/$USER.keytab && echo "OK"
, который выдает случайные результаты каждый раз, когда я запускаю его. Пример такого вывода следующий:
kinit: Failed to store credentials: Internal credentials cache error (filename: /tmp/krb5cc_1645005342) while getting initial credentials
kinit: Failed to store credentials: No credentials cache found (filename: /tmp/krb5cc_1645005342) while getting initial credentials
kinit: Failed to store credentials: Bad format in credentials cache (filename: /tmp/krb5cc_1645005342) while getting initial credentials
OK
OK
Есть ли способ заставить kinit
"ждать своей очереди" и не обращаться к кешу, если к нему уже обращается другой процесс?