В настоящее время я пишу марионеточный модуль для автоматизации процесса присоединения серверов RHEL к домену AD с поддержкой Kerberos.
В настоящее время у меня возникают проблемы с автоматическим получением и кешированием билета на выдачу билетов Kerberos через kinit
. Если бы это нужно было делать вручную, я бы сделал следующее:
kinit aduser@REALM.COM
При этом запрашивается пароль пользователя AD, поэтому существует проблема с автоматизацией этого.
Как я могу это автоматизировать? Я нашел несколько сообщений, в которых упоминается использование kadmin
создать базу данных с паролем пользователей AD в ней, но мне не повезло.
Глупый, вы можете просто использовать следующую команду:
echo "password" | kinit aduser@REALM
Хотя вы можете просто жестко закодировать пароль в своей автоматизации, более правильный способ сделать это с помощью Kerberos - создать keytab для принципала, а затем использовать его для аутентификации. kinit
поддерживает аутентификацию с клавиатуры с помощью -k -t <keytab-path>
параметры.
Основным преимуществом keytab является то, что он изолирует учетные данные в отдельном файле и может использоваться напрямую различным программным обеспечением Kerberos (поэтому вам не нужно добавлять код для чтения пароля из отдельного файла). Его также можно создать с помощью стандартных команд (с AD KDC используйте ktpass
). Если у вас есть Linux KDC, есть еще несколько преимуществ, например, простая рандомизация ключей, хранящихся в keytab, вместо использования более слабого пароля.
Согласно справочной странице вы можете использовать:
kinit --password-file="~/my.secret" aduser@REALM.COM
Таким образом, вы можете просто указать свой пароль в файле.