На сервере rhel7 я пытаюсь присоединить сервер к домену, но получаю следующую ошибку:
net ads join -S domain.example.org -U name
Enter name's password:
Failed to join domain: failed to set machine kerberos encryption types: Insufficient access
Параметры, относящиеся к pam, krb5, samba, dns, а также к объекту на удаленном сервере Active Directory, настроены правильно, что означает, что система будет успешно связываться с использованием rhel6 и ubuntu 14.04.
Мне не удалось найти много информации относительно конкретной ошибки, которую я получаю. Я пытался установить allow_weak_crypto = true в krb5.conf просто чтобы посмотреть, имеет ли это какое-то отношение к этому, но это не повлияло.
Я выполнил несколько советов по устранению неполадок в https://technet.microsoft.com/en-us/library/bb463167.aspx но мне не повезло, вещи, которые я пытался, похоже, работают нормально.
В частности, я могу сделать следующее, а это значит, что я могу получить начальные учетные данные для пользователя название:
kinit name
Password for name@domain.example.org:
Я также могу создать файл keytab, используя ktutil и когда я переместил его в /etc/krb5.keytab klist -e он показывает правильное содержание. Но чистая реклама присоединиться продолжает терпеть неудачу.
Изменить: после изучения исходного пакета rhel7 samba я обнаружил следующее в README.dc:
Мы предоставим Samba AD DC функциональность, как только будет готова поддержка MIT Kerberos KDC.
Я подозреваю, что это может быть проблемой, и мне придется подождать, пока он будет готов.
Edit2: вместо этого использование области и sssd, похоже, имеет ту же проблему. После выполнения:
realm -v join --user=example ad.example.org
Я обнаружил следующую ошибку:
* LANG=C /usr/sbin/adcli join --verbose --domain ad.example.org --domain-realm AD.EXAMPLE.ORG --domain-controller 192.0.2.11 --login-type user --login-user example --stdin-password
! Insufficient permissions to set encryption types on computer account: CN=example,OU=w,OU=x,DC=ad,DC=example,DC=org: 00002098: SecErr: DSID-03150BB9, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
Обратите внимание, это работает с rhel6. У меня также нет разрешения вносить изменения в сервер AD или мою учетную запись там.
Версия rhel - 7.2, и соответствующие пакеты имеют следующие версии:
Name : realmd
Version : 0.16.1
--
Name : adcli
Version : 0.7.5
--
Name : krb5-workstation
Version : 1.13.2
--
Name : samba-common
Version : 4.2.3
Обработанный вывод journalctl -e SYSLOG_IDENTIFIER = область:
Jan 21 14:56:20 host.example.org realmd[25796]: * Using domain name: example.org
Jan 21 14:56:20 host.example.org realmd[25796]: * Using computer account name: HOST
Jan 21 14:56:20 host.example.org realmd[25796]: * Using domain realm: example.org
Jan 21 14:56:20 host.example.org realmd[25796]: * Calculated computer account name from fqdn: HOST
Jan 21 14:56:20 host.example.org realmd[25796]: * Generated 120 character computer password
Jan 21 14:56:20 host.example.org realmd[25796]: * Using keytab: FILE:/etc/krb5.keytab
Jan 21 14:56:20 host.example.org realmd[25796]: * Using fully qualified name: host.example.org
Jan 21 14:56:20 host.example.org realmd[25796]: * Using domain name: example.org
Jan 21 14:56:20 host.example.org realmd[25796]: * Using computer account name: HOST
Jan 21 14:56:20 host.example.org realmd[25796]: * Using domain realm: example.org
Jan 21 14:56:20 host.example.org realmd[25796]: * Looked up short domain name: AD
Jan 21 14:56:20 host.example.org realmd[25796]: * Found computer account for HOST$ at: CN=host,OU=w,OU=x,DC=ad,DC=example,DC=org
Jan 21 14:56:20 host.example.org realmd[25796]: * Set computer password
Jan 21 14:56:20 host.example.org realmd[25796]: * Retrieved kvno '87' for computer account in directory: CN=host,OU=w,OU=x,DC=ad,DC=example,DC=org
Jan 21 14:56:20 host.example.org realmd[25796]: ! Insufficient permissions to set encryption types on computer account: CN=host,OU=w,OU=x,DC=ad,DC=example,DC=org: 00002098: SecErr: DSID-03150BB9, problem 4003 (INSUFF_ACCESS_RIGHTS),
Jan 21 14:56:20 host.example.org realmd[25796]: * Modifying computer account: userAccountControl
Jan 21 14:56:20 host.example.org realmd[25796]: * Modifying computer account: operatingSystem, operatingSystemVersion, operatingSystemServicePack
Jan 21 14:56:20 host.example.org realmd[25796]: ! Couldn't set operatingSystem, operatingSystemVersion, operatingSystemServicePack on computer account: CN=host,OU=w,OU=x,DC=ad,DC=example,DC=org: Insufficient access
Jan 21 14:56:20 host.example.org realmd[25796]: * Updated existing computer account: CN=host,OU=w,OU=x,DC=ad,DC=example,DC=org
Jan 21 14:56:20 host.example.org realmd[25796]: * Discovered which keytab salt to use
Jan 21 14:56:20 host.example.org realmd[25796]: * Added the entries to the keytab: HOST$@AD.EXAMPLE.ORG: FILE:/etc/krb5.keytab
Jan 21 14:56:20 host.example.org realmd[25796]: * Added the entries to the keytab: HOST/HOST@AD.EXAMPLE.ORG: FILE:/etc/krb5.keytab
Jan 21 14:56:20 host.example.org realmd[25796]: * Added the entries to the keytab: HOST/host.example.org@AD.EXAMPLE.ORG: FILE:/etc/krb5.keytab
Jan 21 14:56:21 host.example.org realmd[25796]: * Added the entries to the keytab: RestrictedKrbHost/HOST@AD.EXAMPLE.ORG: FILE:/etc/krb5.keytab
Jan 21 14:56:21 host.example.org realmd[25796]: * Added the entries to the keytab: RestrictedKrbHost/host.example.org@AD.EXAMPLE.ORG: FILE:/etc/krb5.keytab
Jan 21 14:56:21 host.example.org realmd[25796]: process exited: 25879
Jan 21 14:56:21 host.example.org realmd[25796]: * /usr/bin/systemctl enable sssd.service
Jan 21 14:56:21 host.example.org realmd[25796]: process started: 25880
Jan 21 14:56:21 host.example.org realmd[25796]: Created symlink from /etc/systemd/system/multi-user.target.wants/sssd.service to /usr/lib/systemd/system/sssd.service.
Jan 21 14:56:21 host.example.org realmd[25796]: process exited: 25880
Jan 21 14:56:21 host.example.org realmd[25796]: * /usr/bin/systemctl restart sssd.service
Jan 21 14:56:21 host.example.org realmd[25796]: process started: 25894
Jan 21 14:56:22 host.example.org realmd[25796]: process exited: 25894
Jan 21 14:56:22 host.example.org realmd[25796]: * /usr/bin/sh -c /usr/sbin/authconfig --update --enablesssd --enablesssdauth --enablemkhomedir --nostart && /usr/bin/systemctl enable oddjobd.service && /usr/bin/systemctl start oddjobd.se
Jan 21 14:56:22 host.example.org realmd[25796]: process started: 25901
Jan 21 14:56:23 host.example.org realmd[25796]: process exited: 25901
Jan 21 14:56:23 host.example.org realmd[25796]: * Successfully enrolled machine in realm
Jan 21 14:56:23 host.example.org realmd[25796]: released daemon: current-invocation
Jan 21 14:56:23 host.example.org realmd[25796]: client gone away: :1.3100
Jan 21 14:56:23 host.example.org realmd[25796]: released daemon: :1.3100
Jan 21 14:57:23 host.example.org realmd[25796]: quitting realmd service after timeout
Jan 21 14:57:23 host.example.org realmd[25796]: stopping service
Обработанный вывод чистая реклама -P статус:
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
objectClass: computer
cn: host
distinguishedName: CN=host,OU=w,OU=x,DC=ad,DC=example,DC=org
instanceType: 4
whenCreated: 2012
whenChanged: 2016
uSNCreated: 1687590
memberOf: CN=group,OU=groups,OU=w,DC=ad,DC=example,DC=org
uSNChanged: 1212121212
name: host
objectGUID: x
userAccountControl: 6
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 1
lastLogoff: 0
lastLogon: 1
localPolicyFlags: 0
pwdLastSet: 1
primaryGroupID: 600
objectSid: S-1-5-21
accountExpires: 9
logonCount: 1
sAMAccountName: HOST$
sAMAccountType: 8
dNSHostName: host.ad.example.org
servicePrincipalName: RestrictedKrbHost/HOST
servicePrincipalName: RestrictedKrbHost/host.ad.example.org
servicePrincipalName: HOST/host.ad.example.org
servicePrincipalName: HOST/HOST
objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=ad,DC=example,DC=org
isCriticalSystemObject: FALSE
dSCorePropagationData: 2
dSCorePropagationData: 3
dSCorePropagationData: 4
dSCorePropagationData: 5
dSCorePropagationData: 6
lastLogonTimestamp: 1
У меня была такая же проблема, realm
плюс adcli
было решение. realm
по умолчанию использует стандартную самбу. Получите пакеты realmd и adcli и используйте
# realm join --membership-software=adcli -U <username> <domain>
Вам даже не придется использовать adcli
прямо. Обратите внимание, что возникает та же ошибка разрешений, но вы продолжаете присоединяться к домену, а не отказываетесь от типа шифрования.
Это связывало меня на несколько недель. В итоге проект затянулся, пока я не разобрался. Учитесь на моей боли.
К сожалению, насколько я могу судить adcli
похоже, нет никакого способа проверить соединение, не внося изменений в AD. Для проверки вы можете создать резервную копию /etc/samba/smb.conf и заменить его (просто):
realm = <REALM>
workgroup = <WORKGROUP>
Тогда беги net ads -P status
чтобы получить из AD обширную информацию о вашей недавно зарегистрированной учетной записи компьютера. Вы можете сделать то же самое с ldapsearch
против DC, путем поиска с помощью инструментов Windows или по запросу администраторов AD, но я не знаю, какие варианты использовать для LDAP, и мне нравится быть самодостаточным.
Часто adcli / net регистрирует машину, но sssd_ad не совсем подходит для управления идентификацией из коробки. Я обнаружил, что особенно в корпоративных средах AD с RIDS, превышающими 200000 или которые обновлялись с более старых версий несколько раз, обычно возникают проблемы. Если вы получите результаты net ads status
, но по-прежнему не может получить информацию о пользователе, поищите проблемы с sssd и sssd_ad. systemctl status sssd.service
это хорошее место для начала. Однако устранение неполадок sssd_ad для сопоставления и проверки подлинности не входит в объем вашего исходного вопроса.
Дополнительное чтение кредита:
Документы для Realm на freedesktop.org.
Документы для adcli на freedesktop.org.
Почему вы используете сеть? Вам необходимо присоединиться к домену с помощью samba-tool
samba-tool domain join domain.example.org DC -Uadministrator --realm=domain.example.org
net больше не используется в samba 4, за исключением акций и некоторых других вещей.
Не связывайтесь с настройками шифрования Kerberos.
Проблема также возникла в debian и ubuntu после обновления samba с 4.1 до младшей версии 4.3. Это означает, что это не было специально для Redhat. Кстати, я обратился в службу поддержки RedHat.
Мне не удалось найти решение, но я нашел подходящую работу. По какой-то причине, когда происходит конкретный сбой, keytab не создается или создается неправильный. Привязка к серверам Active Directory на самом деле была успешной, и для того, чтобы все заработало, необходимо создать новую keytab.
Не удалось присоединиться к домену: не удалось установить типы шифрования Kerberos на машине: недостаточный доступ
Запустите это, чтобы создать keytab:
net -P ads keytab create
Хотя я решил продолжать использовать самбу, я думаю, что при использовании области вы также можете использовать эту работу.