| Summary: | Не работает добавления компьютера в дочернем OU (sub OU) | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | alexunderboots <al.tar44046> |
| Component: | alterator-auth | Assignee: | Andrey Cherepanov <cas> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | al.tar44046, alimektor, boyarsh, kolesnichenko, shevtsov.anton, sin |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
alexunderboots
2023-01-15 08:23:16 MSK
Добрый день!
Пожалуйста, дополнительно предоставьте следующую информацию:
1. Операционная система, версия, на которой воспроизвелась ошибка.
2. Выводы следующих команд:
$ uname -a
$ cat /etc/os-release
$ apt-repo
3. Опишите шаги воспроизведения, ожидаемый результат.
(Ответ для Evgeny Shesteperov на комментарий #1) > Добрый день! > > Пожалуйста, дополнительно предоставьте следующую информацию: > > 1. Операционная система, версия, на которой воспроизвелась ошибка. > 2. Выводы следующих команд: > > $ uname -a > $ cat /etc/os-release > $ apt-repo > > 3. Опишите шаги воспроизведения, ожидаемый результат. Linux gp5m-332-01 5.10.82-std-def-alt1 #1 SMP Fri Dec 3 14:49:25 UTC 2021 x86_64 GNU/Linux NAME="ALT Workstation" VERSION="10.1" ID=altlinux VERSION_ID=10.1 PRETTY_NAME="ALT Workstation 10.1 (Autolycus)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt:workstation:10.1" BUILD_ID="ALT Workstation 10.0" HOME_URL="https://basealt.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/" rpm http://repo-fix.adm72.local/local-p10 x86_64 local-p10 rpm http://repo-fix.adm72.local/local-p10 x86_64-i586 local-p10 rpm http://repo-fix.adm72.local/local-p10 noarch local-p10 rpm http://repo-fix.adm72.local/altlinux p10/branch/x86_64 classic rpm http://repo-fix.adm72.local/altlinux p10/branch/x86_64-i586 classic rpm http://repo-fix.adm72.local/altlinux p10/branch/noarch classic Установили, настроили, накатили все обновления с кернелом и при добавлении в домен не можем добавить в подгруппу OU, только в сам OU (Ответ для alexunderboots на комментарий #2) > (Ответ для Evgeny Shesteperov на комментарий #1) > > Добрый день! > > > > Пожалуйста, дополнительно предоставьте следующую информацию: > > > > 1. Операционная система, версия, на которой воспроизвелась ошибка. > > 2. Выводы следующих команд: > > > > $ uname -a > > $ cat /etc/os-release > > $ apt-repo > > > > 3. Опишите шаги воспроизведения, ожидаемый результат. > > Linux gp5m-332-01 5.10.82-std-def-alt1 #1 SMP Fri Dec 3 14:49:25 UTC 2021 > x86_64 GNU/Linux > > NAME="ALT Workstation" > VERSION="10.1" > ID=altlinux > VERSION_ID=10.1 > PRETTY_NAME="ALT Workstation 10.1 (Autolycus)" > ANSI_COLOR="1;33" > CPE_NAME="cpe:/o:alt:workstation:10.1" > BUILD_ID="ALT Workstation 10.0" > HOME_URL="https://basealt.ru/" > BUG_REPORT_URL="https://bugs.altlinux.org/" > > rpm http://repo-fix.adm72.local/local-p10 x86_64 local-p10 > rpm http://repo-fix.adm72.local/local-p10 x86_64-i586 local-p10 > rpm http://repo-fix.adm72.local/local-p10 noarch local-p10 > rpm http://repo-fix.adm72.local/altlinux p10/branch/x86_64 classic > rpm http://repo-fix.adm72.local/altlinux p10/branch/x86_64-i586 classic > rpm http://repo-fix.adm72.local/altlinux p10/branch/noarch classic > > Установили, настроили, накатили все обновления с кернелом и при добавлении в > домен не можем добавить в подгруппу OU, только в сам OU Попробую воспроизвести. Версия
======
- alterator-auth-0.43.15-alt1
Дистрибутивы
============
- p10-workstation-10-x86-64, обновленный до Sisyphus
Стенд
=====
- p10-server-10-x86-64, обновленный до Sisyphus
- в качестве сервера Samba
- доменное имя: dc.samba.testdomain
- p10-workstation-10-x86-64, обновленный до Sisyphus
- в качестве клиента Samba
- доменное имя: testpc.samba.testdomain
Шаги воспроизведения
====================
1. На сервере Samba установить ADMC:
# apt-get install -y admc
2. Запустить ADMC:
$ kinit Administrator
$ admc
3. Создать подразделение COMPUTEROU с помощью ADMC: ПКМ по samba.testdomain → Создать → Подразделение, ввести имя COMPUTEROU.
4. Создать субподразделение SUBCOMPUTEROU с помощью ADMC: ПКМ по созданному подразделению COMPUTEROU → Создать → Подразделение, ввести имя SUBCOMPUTEROU.
5. ПКМ по созданному подразделению SUBCOMPUTEROU → Создать → Компьютер, задать имя testpc, нажать ОК.
В итоге получилось следующее дерево:
samba.testdomain
└── COMPUTEROU
└── SUBCOMPUTEROU
└── testpc
6. На клиенте (Workstation) выполнить следующий сценарий:
# apt-get install -y task-auth-ad-sssd
# DOMAINNAME="samba.testdomain"
# SERVERIP=<Адрес сервера SAMBA>
# hostnamectl set-hostname testpc
# echo -e "name_servers=$SERVERIP\nsearch_domains=$DOMAINNAME" >> /etc/resolvconf.conf
# reboot
7. После перезагрузки выполнить ввод в домен с использованием опции --createcomputer=SUBCOMPUTEROU:
# system-auth write ad SAMBA.TESTDOMAIN $(hostname --short) SAMBA Administrator '<Пароль администратора SAMBA>' --createcomputer=SUBCOMPUTEROU
Ожидаемый результат: присоединение к домену.
Фактический результат: ошибка, что такого объекта нет
Failed to join domain: failed to precreate account in ou ou="SUBCOMPUTEROU",dc=SAMBA,dc=TESTDOMAIN: No such object
Аналогично с опцией --createcomputer=COMPUTEROU,SUBCOMPUTEROU:
Failed to join domain: failed to precreate account in ou ou="COMPUTEROU,SUBCOMPUTEROU",dc=SAMBA,dc=TESTDOMAIN: No such object
Воспроизводится в P10.
Добрый день. Столкнулся с такой же проблемой. При выполнении команды: # system-auth write ad test.alt host333 domain 'administrator' 'Gfhjkm123' --createcomputer="TestOU,TestJoin" Failed to join domain: failed to precreate account in ou ou="TestOU,TestJoin",dc=TEST,dc=ALT: No such object Просмотрел скрипт system-auth, он передаёт аргумент дальше на net ads join. В мане net нашёл, что можно указывать OU в виде "TestOU/TestJoin" (с разделителем '/') Попробовал команду: # system-auth write ad test.alt host333 domain 'administrator' 'Gfhjkm123' --createcomputer="TestOU/TestJoin" Failed to join domain: failed to precreate account in ou "TestOU/TestJoin": Invalid DN syntax Изменил немного скрипт system-auth в 17 строке: '--createcomputer') shift; OU="createcomputer=\"$1\""; shift;; на '--createcomputer') shift; OU="createcomputer=$1"; shift;; т.е. убрал кавычки и команда успешно отработала (машина присоединена к домену и добавлена в нужную OU). Но такое решение работает, как я понимаю, только если в названиях OU нет пробелов. Параметры машины: # uname -a Linux host333.test.alt 5.10.179-std-def-alt1 #1 SMP Fri Apr 28 16:59:34 UTC 2023 x86_64 GNU/Linux # cat /etc/os-release NAME="ALT Workstation" VERSION="10.1" ID=altlinux VERSION_ID=10.1 PRETTY_NAME="ALT Workstation 10.1 (Autolycus)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt:workstation:10.1" BUILD_ID="ALT Workstation 10.0" HOME_URL="https://basealt.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/" # apt-repo rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic Подтверждаю проблему. Пока выкрутился так
diff -u /usr/sbin/system-auth.orig /usr/sbin/system-auth
--- /usr/sbin/system-auth.orig 2023-06-07 17:29:12.983845612 +0500
+++ /usr/sbin/system-auth 2023-06-07 17:51:41.921873329 +0500
@@ -14,7 +14,7 @@
while [[ $# -gt 0 ]]; do
case "$1" in
'-d') set -x; shift;;
- '--createcomputer') shift; OU="createcomputer=\"$1\""; shift;;
+ '--createcomputer') shift; OU="createcomputer=$1"; shift;;
'--windows2003') win2003="true"; shift;;
'--winbind') use_winbind="true"; shift;;
--) shift;;
@@ -720,7 +720,7 @@
IFS=: read -r OS_NAME OS_VER <<<"$(hostnamectl | sed -E -n 's/^.*Operating System: (.*) ([0-9.]+).*$/\1:\2/p')"
# Join to domain
- $net_cmd ads join --use-kerberos=required --no-dns-updates --use-krb5-ccache="$krb_ccache_name" $OU osName="$OS_NAME" osVer="$OS_VER"
+ $net_cmd ads join --use-kerberos=required --no-dns-updates --use-krb5-ccache="$krb_ccache_name" "${OU}" osName="$OS_NAME" osVer="$OS_VER"
[ "$?" -ne 0 ] && return 1
system-auth write ad ad2012r2.dom host-27 ad2012r2 da-01 'Qwerty1' --createcomputer="NewCompUnit/Sub\ Comp\ Unit"
Using short domain name -- AD2012R2
Joined 'HOST-27' to dns domain 'ad2012r2.dom'
Successfully registered hostname with DNS
Также есть ошибка с описанием опций system-auth write ad domain.name host workgroup [Administrator password] [--windows2003] [--createcomputer="ou=COMPUTEROU"] [--winbind] в частности --createcomputer="ou=COMPUTEROU" должно быть указано, как --createcomputer="COMPUTEROU" т.е. без ou= |