Я установил активный каталог samba 4 в ubuntu 14.04, следуя инструкциям Samba AD DC HOWTO. В принципе, все работает хорошо, но я застрял в том, чтобы запустить аутентификацию Kerberos с использованием SPN для веб-приложений. Когда я пытаюсь бежать
kinit -k -t keytabfile http/myserver.mycompany.com
Я всегда получаю
kinit: Client not found in Kerberos database while getting initial credentials
Что я уже проверил:
Я создал сервисную учетную запись / SPN / keytabs следующим образом:
samba-tool user create $ADS_USER $ADS_PW --userou=$USER_OU
samba-tool user setexpiry --noexpiry $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_HOST}.${MY_DOMAIN} $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_HOST} $ADS_USER
samba-tool spn list $ADS_USER
rm -f $MY_KEYTAB
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_HOST}.${MY_DOMAIN}
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_HOST}
при запуске klist -k -e $ MY_KEYTAB все выглядит хорошо:
root@myhost:~# klist -ke ./test.keytab
Keytab name: FILE:./test.keytab
KVNO Principal
---- --------------------------------------------------------------------------
1 http/myserver.mycompany.com@MYCOMPANY.COM (des-cbc-crc)
1 http/myserver.mycompany.com@MYCOMPANY.COM (des-cbc-md5)
1 http/myserver.mycompany.com@MYCOMPANY.COM (arcfour-hmac)
1 http/myserver@MYCOMPANY.COM (des-cbc-crc)
1 http/myserver@MYCOMPANY.COM (des-cbc-md5)
1 http/myserver@MYCOMPANY.COM (arcfour-hmac)
Я потерялся, несколько часов исследовал в Google и не знаю, как обойти / исправить ошибку «Клиент не найден в базе данных Kerberos». Любая подсказка приветствуется!
Спасибо
мой "/etc/krb5.conf" на клиенте
[libdefaults]
debug = true
default_realm = MYCOMPANY.COM
dns_lookup_realm = false
dns_lookup_kdc = false
default_tkt_enctypes = rc4-hmac
default_tgs_enctypes = rc4-hmac
[realms]
MYCOMPANY.COM = {
kdc = dc01.mycompany.com
admin_server = dc01.mycompany.com
kpasswd_server = dc01.mycompany.com
#ktpasswd_server = dc01.mycompany.com
#admin_server = dc01.mycompany.com
}
[domain_realm]
.mycompany.com = MYCOMPANY.COM
mycompany.com = MYCOMPANY.COM
на сервере постоянного тока /etc/samba/smb.conf
[global]
debug level = 1
syslog = 1
max log size = 0
workgroup = MYCOMPANY
realm = MYCOMPANY.COM
netbios name = DC01
server role = active directory domain controller
server string = MYCOMPANY domain controller
server role check:inhibit = yes
dns forwarder = 192.168.22.1
idmap_ldb:use rfc2307 = yes
Наконец то я понял!
В
samba-tool spn add ...
не переименовывает UPN в каталоге, как ожидалось. Я нашел это, сравнивая с записями MS ADS. Таким образом, можно обойтись без изменения значения вручную перед запуском команды exportkeytab:
на целевой машине
kinit -k -t http/myserver.mycompany.com
работает без нареканий! Надеюсь, это поможет другим, пытающимся настроить SSO с Samba4 ...
Первоначально я получил ошибку ниже в среде Redhat Linux.
kinit: клиент не найден в базе данных Kerberos при получении начальных учетных данных
Пока я пытался с помощью указанной ниже учетной записи службы зарегистрировать с помощью F_KEY
$ kinit HOST/domainname.no@HOSTNAME.NET
Мне было предложено ввести пароль, и это сработало!
Я могу создать файл кэша учетных данных krb5cc_0 в папке / tmp на сервере.
Я могу перечислить все подробности о временном TGT, используя команду klist.