Работая с Samba 4 в качестве «члена домена» Windows, я хотел бы автоматизировать развертывание клавиатурных вкладок. В частности, мне нужен эквивалент добавления субъектов-служб в соответствующие таблицы. E. g.
# kadmin -k /etc/squid/proxy.keytab -w secret -p kadmin/admin -q "ktadd HTTP/proxy.my.domain"
К сожалению, MS, похоже, не предлагает kadmin
совместимость. В Samba есть такие команды, как
# net rpc vampire keytab all.keytab -U Administrator%secret
# net ads keytab create -U Administrator%secret
Однако ни один из них не может выборочно извлекать принципалов службы. Кроме того, для нетривиальной установки сайта я полагаю, что «вампирский» метод потребует слишком много системных ресурсов, не говоря уже о необходимой постобработке с ktutil.
В моей тестовой настройке DC - это сервер Windows2008, клиент работает под управлением Linux версии 3.14, MIT KRB5 1.15.x и Samba 4.x. Рассматриваемый керберизованный сервис - это Squid v3.5.x. Сама интеграция Kerberos хорошо работает при создании вкладок на контроллере домена (ktpass), а затем вручную скопировать их на каждую машину. Но я бы предпочел избегать такого пешеходного подхода.
Это не обязательно должно быть решение на основе Samba. Это просто путь, по которому я исследую банкомат.
Единственная сложная часть того, что вы сейчас пытаетесь сделать, - это извлечь существующий пароль из учетной записи / принципала, для которого вы создаете keytab. Остальная информация легко доступна через запросы LDAP к DC через msDS-KeyVersionNumber
и servicePrincipalName
атрибуты.
Предполагая, что текущий пароль для учетной записи не установлен на камне, вы можете вместо этого просто сбросить / рандомизировать его на что-то, сгенерированное в процессе автоматизации. Затем вы просто используете ktutil для создания keytab с теперь известным паролем и запрошенными KVNO и SPN (ами).