Невозможно присоединить 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
  • Прочитать имя пользователя
  • Напишите имя пользователя

ПРИМЕЧАНИЕ. Чтобы увидеть эти дополнительные разрешения, необходимо показать разрешения "для конкретного ресурса".

Связанный:

Другие вопросы по тегам