В настоящее время я пишу модуль puppet для автоматизации процесса присоединения серверов RHEL к домену AD с поддержкой Kerberos.
В настоящее время у меня есть проблемы с автоматическим получением и кэшированием билета выдачи билетов Kerberos через kinit
. Если бы это было сделано вручную, я бы сделал это:
kinit aduser@REALM.COM
Это запрашивает пароль пользователя AD, следовательно, существует проблема с автоматизацией этого.
Как я могу автоматизировать это? Я нашел несколько постов, в которых упоминается использование kadmin
базы данных с паролем пользователей AD, но мне не повезло.
echo -n "$PASS" | kinit "$USER"
не выводить завершающий символ новой строкиХотя вы можете просто ввести пароль в свою автоматизацию, более правильный способ Kerberos - создать таблицу ключей для принципала, а затем использовать ее для аутентификации.
kinit
поддерживает аутентификацию из таблицы ключей с помощью-k -t <keytab-path>
параметров.Основное преимущество таблицы ключей заключается в том, что она изолирует учетные данные в отдельном файле и может использоваться непосредственно различным программным обеспечением Kerberos (поэтому вам не нужно добавлять код для чтения пароля из отдельного файла). Он также может быть создан с помощью стандартных команд (с использованием AD KDC
ktpass
). Есть и другие преимущества, если у вас есть Linux KDC, например, легко рандомизировать ключи, хранящиеся в таблице ключей, вместо использования более слабого пароля.источник
-norandkey
флаг в ktadd, если вы не хотите аннулировать существующий пароль.Согласно справочной странице вы можете использовать:
Таким образом, вы можете просто указать свой пароль в файле.
источник