Бодрого времени суток! Залил образ alt-8-server, далее после обновления попробовал поднять АД и получил на выходе: Не удалось установить пароль администратора: ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb: No such file or directory Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory Failed to connect to 'tdb:///var/lib/samba/private/sam.ldb' with backend 'tdb': Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory ERROR(ldb): uncaught exception - Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory File "/usr/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line 176, in _run return self.run(*args, **kwargs) File "/usr/lib64/python2.7/site-packages/samba/netcmd/user.py", line 795, in run credentials=creds, lp=lp) File "/usr/lib64/python2.7/site-packages/samba/samdb.py", line 57, in __init__ options=options) File "/usr/lib64/python2.7/site-packages/samba/__init__.py", line 115, in __init__ self.connect(url, flags, options) File "/usr/lib64/python2.7/site-packages/samba/samdb.py", line 72, in connect options=options) Далее удаляю samba-dc и ставлю samba. При установке подтягиваяются не все зависимости samba: при попытке apt-get samba - сообщения о необходимости более новых версий samba-tools и прочего. Не сохранил перечень пакетов. Сейчас качаю образ для записи на флешку и для установки. После установки всех пакетов необходимых не подымается ldap для ALT-домена. Ошибка: slapd -T test 5906217e /etc/openldap/slapd.conf: line 188: unknown attr "sambaNTPassword" in to clause 5906217e <access clause> ::= access to <what> [ by <who> [ <access> ] [ <control> ] ]+ <what> ::= * | dn[.<dnstyle>=<DN>] [filter=<filter>] [attrs=<attrspec>] <attrspec> ::= <attrname> [val[/<matchingRule>][.<attrstyle>]=<value>] | <attrlist> <attrlist> ::= <attr> [ , <attrlist> ] <attr> ::= <attrname> | @<objectClass> | !<objectClass> | entry | children <who> ::= [ * | anonymous | users | self | dn[.<dnstyle>]=<DN> ] [ realanonymous | realusers | realself | realdn[.<dnstyle>]=<DN> ] [dnattr=<attrname>] [realdnattr=<attrname>] [group[/<objectclass>[/<attrname>]][.<style>]=<group>] [peername[.<peernamestyle>]=<peer>] [sockname[.<style>]=<name>] [domain[.<domainstyle>]=<domain>] [sockurl[.<style>]=<url>] [dynacl/<name>[/<options>][.<dynstyle>][=<pattern>]] [ssf=<n>] [transport_ssf=<n>] [tls_ssf=<n>] [sasl_ssf=<n>] <style> ::= exact | regex | base(Object) <dnstyle> ::= base(Object) | one(level) | sub(tree) | children | exact | regex <attrstyle> ::= exact | regex | base(Object) | one(level) | sub(tree) | children <peernamestyle> ::= exact | regex | ip | ipv6 | path <domainstyle> ::= exact | regex | base(Object) | sub(tree) <access> ::= [[real]self]{<level>|<priv>} <level> ::= none|disclose|auth|compare|search|read|{write|add|delete}|manage <priv> ::= {=|+|-}{0|d|x|c|s|r|{w|a|z}|m}+ <control> ::= [ stop | continue | break ] dynacl: <name>=ACI <pattern>=<attrname> slaptest: bad configuration file! Сейчас повторю установку "с ноля" устанавливая не AD-сервер, а дефолный alt-домен без обнов.
Уточните порядок действий, который вы выполняете для поднятия AD. Можно в виде пошаговой инструкции. Вывод ошибок ничего об этом не говорит. Непонятно как вопроизвести ваш сценарий установки. У меня есть шаблон, который поднимает сервер и клиент: https://github.com/mastersin/samba-stand Возможно, проблема уже решена?
на текущий момент ошибка воспроизводится. Выполнение миграции осуществляется в соответствии с https://forum.altlinux.org/index.php?topic=41733.msg330340#msg330340 tree /opt/ /opt/ |--samba.PDC | |--dbdir | | |--schannel_store.tdb | | |--secrets.tdb | | |--account_policy.tdb | | |--group_mapping.tdb | | |--gencache_notrans.tdb | |--smb.conf |--titan.zn | |--dhcpd.conf | |--samba.zip | |--samba_libs.zip | |--titan.zn.ldif | |--bind.zip | |--smb.conf | `--openldap.zip Процесс миграции: service slapd stop chgrp ldap /etc/openldap/slapd.conf /etc/openldap/*titan.zn*.conf cd /usr/lib64/ ln -sf sasl2-3 /usr/lib64/sasl2 service slapd start service slapd stop slapadd -l /opt/titan.zn/titan.zn.ldif chown ldap: -R /var/lib/ldap/bases/titan.zn service slapd start rm -f /etc/samba/smb.conf rm -rf /var/lib/samba mkdir -p /var/lib/samba/sysvol samba-tool domain classicupgrade --dbdir=/opt/samba.PDC/dbdir/ --realm=titan.zn --dns-backend=SAMBA_INTERNAL /opt/samba.PDC/smb.conf service slapd stop service bind stop chkconfig bind off chkconfig slapd off service samba start chkconfig samba on rm -rf /opt/titan.zn/ /opt/samba.PDC /var/lib/ldap/ samba-tool user setpassword administrator ############################################################# Результат: ############################################################## Stopping slapd service: [ DONE ] Archive: /opt/titan.zn/openldap.zip replace /etc/openldap/slapd.conf? [y]es, [n]o, [A]ll, [N]one, [r]ename: inflating: /etc/openldap/slapd.conf inflating: /etc/openldap/slapd-titan.zn.conf Service slapd is not running. [PASSED] Adjusting environment for slapd: [ DONE ] Starting slapd service: [ DONE ] Stopping slapd service: [ DONE ] 5c614635 hdb_monitor_db_open: monitoring disabled; configure monitor database to enable -#################### 100.00% eta none elapsed spd 1.6 M/s Closing DB... Adjusting environment for slapd: [ DONE ] Starting slapd service: [ DONE ] Reading smb.conf Processing section "[netlogon]" Processing section "[printers]" Processing section "[print$]" Processing section "[change]" Processing section "[unit]" Processing section "[inform]" Processing section "[media]" Processing section "[print]" Processing section "[scan]" Processing section "[arch]" Processing section " ... Provisioning Attempting to register passdb backend samba_dsdb Successfully added passdb backend 'samba_dsdb' Attempting to register passdb backend samba4 Successfully added passdb backend 'samba4' Attempting to find a passdb backend to match ldapsam:ldap://127.0.0.1/ (ldapsam) No builtin backend found, trying to load plugin load_module_absolute_path: Module '/usr/lib64/samba-dc/pdb/ldapsam.so' loaded Attempting to register passdb backend ldapsam Successfully added passdb backend 'ldapsam' Attempting to register passdb backend NDS_ldapsam Successfully added passdb backend 'NDS_ldapsam' Found pdb backend ldapsam smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=TITAN.ZN))] StartTLS issued: using a TLS connection smbldap_open_connection: connection opened ldap_connect_system: successful connection to the LDAP server smbldap_search_domain_info: Problem during LDAPsearch: Timed out smbldap_search_domain_info: Query was: dc=titan,dc=zn, (&(objectClass=sambaDomain)(sambaDomainName=TITAN.ZN)) pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it. pdb backend ldapsam:ldap://127.0.0.1/ did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO) ERROR(<class 'passdb.error'>): uncaught exception - Cannot load backend methods for 'ldapsam:ldap://127.0.0.1/' backend (-1073741606,Configuration information could not be read from the domain controller, either because the machine is unavailable or access has been denied.) File "/usr/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line 176, in _run return self.run(*args, **kwargs) File "/usr/lib64/python2.7/site-packages/samba/netcmd/domain.py", line 1589, in run useeadb=eadb, dns_backend=dns_backend, use_ntvfs=use_ntvfs) File "/usr/lib64/python2.7/site-packages/samba/upgrade.py", line 485, in upgrade_from_samba3 s3db = samba3.get_sam_db() File "/usr/lib64/python2.7/site-packages/samba/samba3/__init__.py", line 390, in get_sam_db return passdb.PDB(self.lp.get('passdb backend')) Stopping slapd service: [ DONE ] Stopping named service: [ DONE ] Starting samba: Starting samba service: [ DONE ] New Password: Retype Password: ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb: No such file or directory Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory Failed to connect to 'tdb:///var/lib/samba/private/sam.ldb' with backend 'tdb': Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory ERROR(ldb): uncaught exception - Unable to open tdb '/var/lib/samba/private/sam.ldb': No such file or directory File "/usr/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line 176, in _run return self.run(*args, **kwargs) File "/usr/lib64/python2.7/site-packages/samba/netcmd/user.py", line 828, in run credentials=creds, lp=lp) File "/usr/lib64/python2.7/site-packages/samba/samdb.py", line 57, in __init__ options=options) File "/usr/lib64/python2.7/site-packages/samba/__init__.py", line 114, in __init__ self.connect(url, flags, options) File "/usr/lib64/python2.7/site-packages/samba/samdb.py", line 72, in connect options=options)
Я не понимаю как воспроизвести проблему и в чём конкретно она состоит. На упомянутом форуме приведено множество ссылок. Какой конкретно сценарий имеется в виду? Вот это тоже непонятно: "Не удалось установить пароль администратора: ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb:..." Что было исходно и до чего обновляли? /var/lib/samba/private/sam.ldb - это база Active Directory. Она была и после обновления пропала? Причём тут тогда slapd и openldap? Я готов заняться рассмотрением конкретной проблемы. 1) Вот так было (вот такая конфигурация, вот с такими пакетами и вот с такими конфигами, вот так ранее развёрнутая). 2) Вот так сделали (вот такие пакеты обновились, вот с таких версий до таких версий). 3) Вот так теперь оно не работает (вот такую команду запускаю, вот такая ошибка получается). Нет особого смысла приводить вывод ошибки без команды, которая к ней привела. Как такую проблему решать - непонятно.
(In reply to comment #2) > > tree /opt/ > /opt/ > |--samba.PDC > | |--dbdir > | | |--schannel_store.tdb > | | |--secrets.tdb > | | |--account_policy.tdb > | | |--group_mapping.tdb > | | |--gencache_notrans.tdb > | |--smb.conf > |--titan.zn > | |--dhcpd.conf > | |--samba.zip > | |--samba_libs.zip > | |--titan.zn.ldif > | |--bind.zip > | |--smb.conf > | `--openldap.zip > Вот этот момент тоже непонятен. Это архив чего? АЛЬТ домена или Домена NT4 на базе самба? Могу предположить, что это NT4 домен, для которого делается попытка миграции: https://wiki.samba.org/index.php/Migrating_a_Samba_NT4_Domain_to_Samba_AD_(Classic_Upgrade) Судя по тому какие ошибки возникли, некоторые файлы базы при попытке миграции либо не были созданы, либо легли не в те каталоги, где они ожидаются. Чтобы попытаться воспроизвести эту проблему в такой виде, нам нужно поднять исходный NT4 домен. На текущий момент я не располагаю такими стендами. Давайте только уточним, мы этот вариант проблемы предполагаем в этой задаче?
Старый домен - это ldap+samba Более детально, что есть что по поводу содержимого /opt ... /opt/titan.zn/... | |--dhcpd.conf << только чтобы позже перенести привязанные MAC+IP и сейчас не участвует | |--samba.zip << Там содержимое /etc/samba/. по факту, оттуда забираю только smb.conf. | |--samba_libs.zip << /var/lib/samba/ в соответствии с инструкцией по миграции с wiki.samba.org + что было на форуме altlinux (zip -r /opt/titan.zn/samba_libs.zip /var/lib/samba/). | |--titan.zn.ldif << получено на ldap+samba сервера посредством slapcat -b 'dc=titan,dc=zn' -l /opt/titan.zn/titan.zn.ldif. Внесено изменение в строку | |--bind.zip >> опять же не используемый архив bind с предыдущего сервера | |--smb.conf >> smb.conf отдельно от архива /etc/samba в который вносятся изменения в соответствии с маном форума (workgroup=TITAN.ZN) | `--openldap.zip << архив zip -r /opt/titan.zn/openldap.zip /etc/openldap/ Содержимое dbdir получено посредством распаковки samba_libs.zip (unzip -jd /opt/samba.PDC/dbdir/ /opt/titan.zn/samba.zip \*secrets.tdb \*schannel_store.tdb \*gencache_notrans.tdb \*group_mapping.tdb \*account_policy.tdb)
Последовательное выполнение преобразований на новом сервере (чистая установка) service slapd stop Stopping slapd service: yes |unzip -jd /etc/openldap/ /opt/titan.zn/openldap.zip \*slapd.conf \*titan.zn\*.conf Archive: /opt/titan.zn/openldap.zip replace /etc/openldap/slapd.conf? [y]es, [n]o, [A]ll, [N]one, [r]ename: inflating: /etc/openldap/slapd inflating: /etc/openldap/slapd-titan.zn.conf chgrp ldap /etc/openldap/slapd.conf /etc/openldap/*titan.zn*.conf cd /usr/lib64/ ln -sf sasl2-3 /usr/lib64/sasl2 service slapd start Adjusting environment for slapd: [ DONE ] Starting slapd service: [ DONE ] service slapd stop Stopping slapd service: [ DONE ] slapadd -l /opt/titan.zn/titan.zn.ldif 5c626988 hdb_monitor_db_open: monitoring disabled; configure monitor database to enable -#################### 100.00% eta none elapsed spd 1.6 M/s Closing DB... chown ldap: -R /var/lib/ldap/bases/titan.zn service slapd start Adjusting environment for slapd: [ DONE ] Starting slapd service: [ DONE ] rm -f /etc/samba/smb.conf rm -rf /var/lib/samba mkdir -p /var/lib/samba/sysvol samba-tool domain classicupgrade --dbdir=/opt/samba.PDC/dbdir/ --realm=titan.zn --dns-backend=SAMBA_INTERNAL /opt/samba.PDC/smb.conf Reading smb.conf Processing section "[netlogon]" Processing section "[freader]" Processing section "[printers]" Processing section "[print$]" Processing section "[change]" Processing section "[unit]" Processing section "[inform]" Processing section "[media]" Processing section "..." Provisioning Attempting to register passdb backend samba_dsdb Successfully added passdb backend 'samba_dsdb' Attempting to register passdb backend samba4 Successfully added passdb backend 'samba4' Attempting to find a passdb backend to match ldapsam:ldap://127.0.0.1/ (ldapsam) No builtin backend found, trying to load plugin load_module_absolute_path: Module '/usr/lib64/samba-dc/pdb/ldapsam.so' loaded Attempting to register passdb backend ldapsam Successfully added passdb backend 'ldapsam' Attempting to register passdb backend NDS_ldapsam Successfully added passdb backend 'NDS_ldapsam' Found pdb backend ldapsam smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=TITAN.ZN))] StartTLS issued: using a TLS connection smbldap_open_connection: connection opened ldap_connect_system: successful connection to the LDAP server smbldap_search_domain_info: Problem during LDAPsearch: Timed out smbldap_search_domain_info: Query was: dc=titan,dc=zn, (&(objectClass=sambaDomain)(sambaDomainName=TITAN.ZN)) pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it. pdb backend ldapsam:ldap://127.0.0.1/ did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO) ERROR(<class 'passdb.error'>): uncaught exception - Cannot load backend methods for 'ldapsam:ldap://127.0.0.1/' backend (-1073741606,Configuration information could not be read from the domain controller, either because the machine is unavailable or access has been denied.) File "/usr/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line 176, in _run return self.run(*args, **kwargs) File "/usr/lib64/python2.7/site-packages/samba/netcmd/domain.py", line 1589, in run useeadb=eadb, dns_backend=dns_backend, use_ntvfs=use_ntvfs) File "/usr/lib64/python2.7/site-packages/samba/upgrade.py", line 485, in upgrade_from_samba3 s3db = samba3.get_sam_db() File "/usr/lib64/python2.7/site-packages/samba/samba3/__init__.py", line 390, in get_sam_db return passdb.PDB(self.lp.get('passdb backend')) service slapd stop Stopping slapd service: [ DONE ] service bind stop Stopping named service: [ DONE ] chkconfig bind off chkconfig slapd off service samba start Starting samba: Starting samba service: [ DONE ]
(В ответ на комментарий №4) > (In reply to comment #2) > > > > tree /opt/ > > /opt/ > > |--samba.PDC > > | |--dbdir > > | | |--schannel_store.tdb > > | | |--secrets.tdb > > | | |--account_policy.tdb > > | | |--group_mapping.tdb > > | | |--gencache_notrans.tdb > > | |--smb.conf > > |--titan.zn > > | |--dhcpd.conf > > | |--samba.zip > > | |--samba_libs.zip > > | |--titan.zn.ldif > > | |--bind.zip > > | |--smb.conf > > | `--openldap.zip > > > > Вот этот момент тоже непонятен. Это архив чего? АЛЬТ домена или Домена NT4 на > базе самба? > > Могу предположить, что это NT4 домен, для которого делается попытка миграции: > https://wiki.samba.org/index.php/Migrating_a_Samba_NT4_Domain_to_Samba_AD_(Classic_Upgrade) > > Судя по тому какие ошибки возникли, некоторые файлы базы при попытке миграции > либо не были созданы, либо легли не в те каталоги, где они ожидаются. > > Чтобы попытаться воспроизвести эту проблему в такой виде, нам нужно поднять > исходный NT4 домен. На текущий момент я не располагаю такими стендами. Давайте > только уточним, мы этот вариант проблемы предполагаем в этой задаче? Как отловить отрицательный ответ скрипта ... понять то, что она не находит посредством samba-tool?