Я буквально проверил весь Интернет и надеюсь, что здесь мне помогут.
Я пытаюсь выполнить интеграцию серверов ubuntu 12.04 в активный каталог Windows 2012 с помощью nfs и единого входа.
srv04 Сервер приложений Ubuntu
домен: lettrich.local
например.
sudo kdestroy
sudo kinit -k
kinit: Client 'host/srv03.lettrich.local@LETTRICH.LOCAL' not found in Kerberos database while getting initial credentials
krb5.keytab на srv03, аналог srv04.
sudo klist -ke
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
10 srv03$@LETTRICH.LOCAL (arcfour-hmac)
10 srv03$@LETTRICH.LOCAL (aes128-cts-hmac-sha1-96)
10 srv03$@LETTRICH.LOCAL (aes256-cts-hmac-sha1-96)
10 nfs/srv03.lettrich.local@LETTRICH.LOCAL (arcfour-hmac)
10 nfs/srv03.lettrich.local@LETTRICH.LOCAL (aes128-cts-hmac-sha1-96)
10 nfs/srv03.lettrich.local@LETTRICH.LOCAL (aes256-cts-hmac-sha1-96)
10 host/srv03.lettrich.local@LETTRICH.LOCAL (arcfour-hmac)
10 host/srv03.lettrich.local@LETTRICH.LOCAL (aes128-cts-hmac-sha1-96)
10 host/srv03.lettrich.local@LETTRICH.LOCAL (aes256-cts-hmac-sha1-96)
nfs экспорт:
cat /etc/exports
/export gss/krb5(rw,fsid=0,no_subtree_check,sync,insecure,crossmnt,anonuid=65534,anongid=65534)
/export/users gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
/export/groups gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
/export/share gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
/export/backup gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
установка на srv04
sudo mount -t nfs4 -o sec=krb5 srv03:/export /mnt
дает мне ошибку
srv04 rpc.gssd[754]: ERROR: No credentials found for connection to server srv03
В Active Directory и srv03, и srv04 указаны как компьютеры домена с правильными именами участников-служб (имена изменены соответственно)
service principal name = nfs/srv03.lettrich.local; host/srv03.lettrich.local
Где моя ошибка? (и да, время синхронизировано ;-))
При необходимости предоставим дополнительную информацию.
Заранее спасибо всем, кто готов помочь.
Во-первых, вы должны зарегистрироваться и вернуть DNS-запись для новых серверов Linux. Зарегистрируйте это в домене Windows.
Во-вторых, на серверах Linux укажите DNS-преобразователь в Windows и измените / etc / hosts в Linux для правильных полей.
В-третьих, вы должны установить приложения / модули / библиотеки Kerberos5 и winbind.
В-четвертых, настройте /etc/krb5.conf с помощью:
[libdefaults]
default_realm = YOUR.FULL.DOMAIN.WITH.UPPER.CHARS
[realms]
YOUR.FULL.DOMAIN.WITH.UPPER.CHARS = {
kdc = list of IPs windows domain servers
admin_server = one ip for master domain server
}
[domain_realm]
your.full.comain.with.lover.chars = YOUR.FULL.DOMAIN.WITH.UPPER.CHARS
[logging]
#example logging
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmin.log
default = FILE:/var/log/kerberos/krb5lib.log
В-пятых, настройте /etc/samba/smb.conf:
[global]
workgroup = YOUR.SHORT.DOMAIN.WITH.UPPER.CASE
netbios name = YOUR.SERVER.NAME.WITH.UPPER.CASE.WITHOUT.DOMAIN
realm = YOUR.FULL.DOMAIN.WITH.UPPER.CHARS
security = ads
password server = windows.ip.server.what.allows.password.change
wins server = as.above.supports.wins.messages
wins proxy = no
kerberos method = system keytab
dedicated keytab file = /etc/krb5.keytab
server string = write what you want using %h as host name
dns proxy = no
idmap config * : backend = rid
idmap config * : range = 10000-20000
winbind use default domain = Yes
winbind enum users = Yes
winbind enum groups = Yes
winbind nested groups = Yes
winbind separator = +
winbind refresh tickets = yes
template shell = /bin/bash
template homedir = /home/%D/%U
preferred master = no
inherit acls = Yes
map acl inherit = Yes
acl group control
В-шестых, убедитесь, что вы можете подключиться временно с помощью любого пользователя:
wbinfo -t #test only
net getdomainsid #should print local and domain identifier
wbinfo -u #domain user list, may take long time for many users
wbinfo -g #domain group list
В-седьмых, создайте учетную запись технического пользователя, пароль которой никогда не истекает и не может быть изменен. Остальные оставляют значение по умолчанию. Соберите этого пользователя в отдельный каталог AD :)
В-восьмых, сгенерируйте keytab:
net ads keytab create -U your.technical.user@YOUR.FULL.DOMAIN.WITH.UPPER.CHARS
затем проверьте, существует ли /etc/krb5.keytab
Теперь вы можете настроить другие службы, особенно используя помощник ntlm. Проверить подключение можно с помощью:
ntlm_auth --username UPPER.CASE.SHORTNAME.DOMAIN+your.technical.username
напишите пароль, и вы должны увидеть статус:
NT_STATUS_OK: Success (0x0)
Сейчас вы можете настроить PAM для аутентификации многих сервисов, но я этого не делал. Я успешно использую эту конфигурацию с аутентификацией apache2.2 ntlm. Я видел конфигурацию pam для ssh и Xsession.
Основная идея в том, что только winbind аутентифицируется в Active Directory. Все остальные сервисы каким-либо образом аутентифицируются локально для winbind. Winbind является частью самбы. Если вам не нужна samba, установите только winbind, это установит некоторые библиотеки samba.
Иногда при настройке подключения wbinfo не удается подключиться. Затем вы должны подождать некоторое время, 5 или более минут для распространения информации о домене.
Конечно, время на всех машинах должно быть синхронизированным. Настройте для этого NTP. Я использую debian, но ubuntu делает все похожим на debian :) удачи.
Должен признать, что со временем я забыл ответить и закрыть эту ветку. Следуя этим инструкциям вместе с созданием правильной конфигурации SSSD, мои проблемы были решены: http://ubuntuforums.org/showthread.php?t=1924660
Как вы создавали SPN для клиентов?
У меня были хорошие результаты с помощью Samba для этого (чистая реклама присоединиться).