Я пытаюсь настроить блок хостов с помощью кикстарта, и есть две команды, которым нужно ввести пароль. Один из них - kinit, для этого легко просто сгенерировать файл keytab и передать его с помощью -t, другой - это соединение с сетью, которое вызывается косвенно, когда я выполняю команду authconfig.
Есть ли способ передать пароль через файл учетных данных или с помощью хэша пароля? Очевидно, я не хочу передавать это просто как текст.
@ewwhite Спасибо за ссылку, посмотрю. Я ни в чем не уверен, и я определенно не против использования SSSD для этого, если он позволяет мне делать то же самое и допускает автоматическую подготовку. Мое использование Samba / Winbind больше связано с моим уровнем комфорта для них. Можете ли вы подсказать, как я могу сделать то же самое с помощью SSSD, имея в виду, что мне не нужно вводить пароль вручную?
Соответствующее содержание кикстарта:
cat << EOF > /etc/samba/smb.conf
[global]
encrypt passwords = yes
# logs split per machine
log file = /var/log/samba/log.%m
# max 50KB per log file, then rotate
max log size = 50
passdb backend = tdbsam
EOF
chkconfig smb on
chkconfig nmb on
service smb restart
service nmb restart
cat << EOF > /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = AD.DOMAIN.NET
dns_lookup_realm = true
dns_lookup_kdc = true
allow_weak_crypto = false
ticket_lifetime = 24h
renew_lifetime = 7d
rdns = false
forwardable = true
[realms]
AD.DOMAIN.NET = {
admin_server = dc01.ad.domain.net
default_domain = ad.domain.net
kdc = dc01.ad.domain.net
}
[domain_realm]
.ad.domain.net = AD.DOMAIN.NET
ad.domain.net = AD.DOMAIN.NET
EOF
net time set -S dc01.ad.domain.net
/usr/bin/kinit -k -t addom.keytab Administrator@AD.DOMAIN.NET
authconfig --update \
--kickstart \
--enablewinbind \
--enablewinbindauth \
--smbsecurity=ads \
--smbrealm=AD.DOMAIN.NET \
--winbindjoin=administrator@AD.DOMAIN.NET \
--winbindtemplatehomedir=/home/DOMAIN/%U \
--winbindtemplateshell=/bin/bash \
--enablewinbindusedefaultdomain \
--enablelocauthorize \
--smbservers=dc01.ad.domain.net \
--enablemkhomedir \
--smbidmaprange=100000-200000
Оказывается, у команды net есть возможность использовать Kerberos keytab, просто нужно было прочитать страницы руководства лучше, чем я раньше. Вот что у меня сработало:
на контроллере домена
ktpass princ host/test.ad.domain.net@AD.DOMAIN.NET mapuser AD\Administrator -pass * out test.keytab
на компьютере, выполняющем соединение
kinit -k -t /tmp/test.keytab
net ads join -k
Множество вариантов ... Смотрите: Распространенная мудрость об аутентификации Active Directory для серверов Linux?
С EL6 вы конечно вы хотите пойти по пути Samba / Winbind? В наши дни хорошо продуманный authconfig
строка и конфигурация SSSD (/etc/sssd/sssd.conf
) - это почти все, что вам нужно ... (если вы не пытаетесь интегрировать домашние каталоги)
Что сейчас в твоем кикстарте?