Невозможно присоединить Ubuntu / Linux к Active Directory в качестве пользователя домена. Работает с Windows-клиентами
Я пытаюсь присоединить компьютер Ubuntu/Linux к домену Active Directory как обычную учетную запись пользователя, который не является членом группы администраторов домена.
Я прекрасно могу подключиться к компьютерам с Windows. Вам не обязательно быть администратором, но у вас должна быть определенная квота компьютеров, к которой вы можете присоединиться, не будучи администратором.
Но когда я пытаюсь подключить компьютер с Ubuntu Linux к домену, он терпит неудачу с сообщением об ошибке ниже. Буду признателен за любую помощь в этом.
daniel@linux01:~$ sudo realm join -v -U 'daniel@AD.example.com' AD.example.com
[sudo] password for daniel:
* Resolving: _ldap._tcp.ad.example.com
* Performing LDAP DSE lookup on: 10.0.0.10
* Successfully discovered: ad.example.com
Password for daniel@AD.example.com:
* Unconditionally checking packages
* Resolving required packages
* LANG=C /usr/sbin/adcli join --verbose --domain ad.example.com --domain-realm AD.example.com --domain-controller 10.0.0.10 --login-type user --login-user daniel@AD.example.com --stdin-password
* Using domain name: ad.example.com
* Calculated computer account name from fqdn: LINUX01
* Using domain realm: ad.example.com
* Sending NetLogon ping to domain controller: 10.0.0.10
* Received NetLogon info from: dc1.ad.example.com
* Wrote out krb5.conf snippet to /var/cache/realmd/adcli-krb5-iIuXdP/krb5.d/adcli-krb5-conf-eeT5bO
* Authenticated as user: daniel@AD.example.com
* Looked up short domain name: AD
* Looked up domain SID: S-1-5-21-13313029-848207003-2406435418
* Using fully qualified name: linux01.ad.example.com
* Using domain name: ad.example.com
* Using computer account name: LINUX01
* Using domain realm: ad.example.com
* Calculated computer account name from fqdn: LINUX01
* Generated 120 character computer password
* Using keytab: FILE:/etc/krb5.keytab
* Computer account for LINUX01$ does not exist
* Found well known computer container at: CN=Computers,DC=ad,DC=example,DC=com
* Calculated computer account: CN=LINUX01,CN=Computers,DC=ad,DC=example,DC=com
* Encryption type [3] not permitted.
* Encryption type [1] not permitted.
! Insufficient permissions to modify computer account: CN=LINUX01,CN=Computers,DC=ad,DC=example,DC=com: 000020E7: AtrErr: DSID-03153402, #1:
0: 000020E7: DSID-03153402, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 90008 (userAccountControl):len 4
adcli: joining domain ad.example.com failed: Insufficient permissions to modify computer account: CN=LINUX01,CN=Computers,DC=ad,DC=example,DC=com: 000020E7: AtrErr: DSID-03153402, #1:
0: 000020E7: DSID-03153402, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 90008 (userAccountControl):len 4
! Insufficient permissions to join the domain
realm: Couldn't join realm: Insufficient permissions to join the domain
2 ответа
Вы не указываете имя контейнера (CN в сообщениях об ошибках), поэтому компьютер Linux01 вставляется в CN по умолчанию "Компьютеры". Я предполагаю, что у вашей учетной записи недостаточно прав для изменения этого CN, или, что более вероятно, она даже не существует в вашем AD, поэтому вы должны указать полный путь CN.
В Windows при добавлении компьютера в AD графический интерфейс пользователя позволяет перемещаться по дереву доменов и выбирать соответствующий контейнер (лист). Вам, вероятно, следует добавить запись в свой
realm.conf
файл или добавьте информацию об OU прямо в командную строку.
/etc/realmd.conf
по умолчанию:
[domain.example.com]
computer-ou = OU=Linux Computers,DC=AD,DC=example,DC=com
# computer-ou = OU=Linux Computers,
В командной строке:
realm join --user=daniel@AD.example.com AD.example.com --computer-ou='Linux ComputersDC=AD,DC=example,DC=com'
Сначала найдите OU/CN с
ldapsearch
:
ldapsearch -LLL -H ldap://AD.example.com -b adc,dc=example,dc=com -D 'AD\daniel' -W '(name=web_servers)' dn
У меня была точно такая же проблема, и оказалось, что для присоединения системы Linux к домену требуется больше разрешений, чем системы Windows, хотя я не уверен, почему это так.
Я добавил дополнительные разрешения к своей учетной записи для присоединения к домену, следуя этому руководству: https://www.computertechblog.com/active-directory-permissions-required-to-join-linux-and-windows-computers-to-a-domain/
По ссылке выше:
Стандартные разрешения, необходимые для присоединения систем к AD (Linux и Windows)
- Сброс пароля
- Ограничения на чтение и запись аккаунта
- Подтвержденная запись на имя хоста DNS
- Подтвержденная запись в имя участника службы
- Чтение и запись атрибутов имени хоста DNS
Дополнительные разрешения, необходимые машинам Linux для присоединения к AD (Linux)
- Читать dNSHostName
- Напишите dNSHostName
- Прочтите msDS-AddtionalSamAccountName
- Напишите msDS-AddtionalSamAccountName
- Прочитать msDS-SupportedEncryptionTypes
- Написать msDS-SupportedEncryptionTypes
- Читать операционную систему
- Запись операционной системы
- Прочитать версию операционной системы
- Написать версию операционной системы
- Прочитать OperatingSystemServicePack
- Написать OperatingSystemServicePack
- Прочитать servicePrincipalName
- Написать servicePrincipalName
- Читать userAccountControl
- Написать userAccountControl
- Прочитать имя пользователя
- Напишите имя пользователя
ПРИМЕЧАНИЕ. Чтобы увидеть эти дополнительные разрешения, необходимо показать разрешения "для конкретного ресурса".
Связанный:
- Невозможно присоединиться к домену с помощью samba tool net или realm/sssd
- Учетная запись для чтения AD, присоединения компьютера к домену, удаления учетных записей компьютеров и перемещения компьютеров в подразделения.
- Недостаточный доступ при попытке установить атрибуты ОС машины при присоединении сервера Linux к Active Directory