Невозможно присоединиться к домену с помощью samba tool net или realm / sssd

На сервере 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 as а также объект на удаленном сервере 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: Использование вместо этого realm и 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 = realmd :

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

Обработанный вывод net ads -P status :

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
3
задан 27 January 2016 в 02:42
3 ответа

Проблема также возникла в debian и ubuntu после обновления samba с 4.1 до младшей версии 4.3. Это означает, что это не было специфическим для Redhat. Кстати, я обратился в службу поддержки redhat.

Мне не удалось найти решение, но я нашел способ обойти это достаточно хорошо. По какой-то причине, когда происходит конкретный сбой, keytab не создается или создается неправильный. Привязка к серверам Active Directory на самом деле была успешной, и для того, чтобы все работало, необходимо создать новую keytab.

Не удалось присоединиться к домену: не удалось установить шифрование Kerberos на машине. типы: Недостаточный доступ

Запустите это, чтобы создать keytab:

net -P ads keytab create

Хотя я решил продолжать использовать самбу, я думаю, что при использовании области вы также можете использовать эту работу.

1
ответ дан 3 December 2019 в 05:12

Почему вы используете сеть? Вы должны присоединиться к домену с помощью samba-tool

samba-tool domain join domain.example.org DC -Uadministrator --realm=domain.example.org

net больше не используется в samba 4, за исключением общих ресурсов и некоторых других вещей.
Не связывайтесь с настройками шифрования Kerberos.

3
ответ дан 3 December 2019 в 05:12

У меня была такая же проблема, решением была область плюс adcli . область по умолчанию использует общий бэкэнд samba. Получите пакеты realmd и adcli и используйте

# realm join --membership-software=adcli -U <username> <domain>

Вам даже не придется напрямую использовать adcli . Обратите внимание, что возникает та же ошибка разрешений, но вы продолжаете присоединяться к домену, а не отказываетесь от отказа типа шифрования.

Это связывало меня на несколько недель. В итоге проект затянулся, пока я не разобрался. Учитесь на моей боли.

К сожалению, насколько я могу судить, adcli , похоже, не имеет возможности проверить соединение, не внося изменений в AD. Для проверки вы можете создать резервную копию /etc/samba/smb.conf и заменить его на (just):

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 для сопоставления и проверки подлинности не входит в объем вашего исходного вопроса.

Дополнительные сведения о сообщении:

Документы для области на freedesktop.org.

Документы для adcli на freedesktop.org.

Справочная страница для sssd_ad

3
ответ дан 3 December 2019 в 05:12

Теги

Похожие вопросы