Автор Тема: [РЕШЕНО] Samba PDC to samba-dc  (Прочитано 22788 раз)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #15 : 13.02.2019 17:05:50 »
А если оставить

dn: sambaDomainName: TITAN.ZN,dc=titan,dc=zn
sambaDomainName: TITAN.ZN

И не менять sambaDomainName, то есть не убирать зону, то:

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.)

« Последнее редактирование: 13.02.2019 17:08:15 от ApB »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #16 : 13.02.2019 18:07:50 »
Как сделать samba-tool более разговорчивым, я не знаю, может есть ключик какой-то, также можно просто глянуть, например:
journalctl -bХотя, мне кажется, текущего вывода в принципе достаточно, и так понятно, что не совпадают данные LDAP и Samba, разные домены.

У меня вот такой вывод даёт запрос к базе:
# ldapsearch -LLL -b 'dc=base,dc=ru' -x -H 'ldap://localhost' '(&(objectClass=sambaDomain)(sambaDomainName=BASE.RU))'
dn: sambaDomainName=BASE,dc=base,dc=ru
sambaDomainName: BASE.RU
sambaDomainName: BASE
sambaSID: S-1-5-21-2413083505-1500810331-3579856402
sambaAlgorithmicRidBase: 1000
objectClass: sambaDomain
sambaNextUserRid: 1000
sambaMinPwdLength: 5
sambaPwdHistoryLength: 0
sambaLogonToChgPwd: 0
sambaMaxPwdAge: -1
sambaMinPwdAge: 0
sambaLockoutDuration: 30
sambaLockoutObservationWindow: 30
sambaLockoutThreshold: 0
sambaForceLogoff: -1
sambaRefuseMachinePwdChange: 0
И это правильно.

Вы может за собой просто не почистили ? Если вы на той же системе несколько раз уже сделали slapadd, то нужно потом вычистить старые данные, прежде чем снова делать slapadd, вот так:
service slapd stop
cd /var/lib/ldap/bases/titan.zn/
ls -1 | grep -v '^DB_CONFIG' | xargs rm -r
slapadd -l /opt/titan.zn/titan.zn.ldif
service slapd start
Сноси Винду, переходи на Линукс ! :)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #17 : 13.02.2019 20:12:51 »
journalctl -b
Спасибо, никак не могу привыкнуть ... лезу в /var/log  8-|

sambaDomainName: BASE.RU
sambaDomainName: BASE

Почему два?
У меня вывод сделан с рабочего серванта и ...

dn: sambaDomainName=BASE,dc=base,dc=ru

это вывод с сервера до миграции или после?

Опять же, BASE.DN.ldif в части:

dn: sambaDomainName: TITAN,dc=titan,dc=zn
sambaDomainName: TITAN.ZN

 я корректировал.


По поводу "не подчистил" - там виртуальная машина с пустой ОС на которую залиты обновы и установлены пакеты дефолтные+минимально необходимые да обновления. Всё, что переносится с предыдущей системы - лежит в /opt/. Что-то не так - откат к снепшоту (как раз чтобы скомпенсировать ситуацию с невнимательностью, благо два ядра и 2Гб ей хватает).




Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #18 : 13.02.2019 21:51:27 »
Почему два?
Наверно, потому что мы изменили RDN, принцип записи значений в базу такой. Значит и во второй строке тоже можно подкорректировать имя домена, либо вообще убрать вторую строчку, она и так при записи в базу сама сформируется.

это вывод с сервера до миграции или после?
Это вывод с целевого сервера. Исходный сервер мы вообще не трогаем, взяли с него нужные данные и пока больше не трогаем. Вывод совпадает, что до миграции, что после неё.

Если на виртуалке работаете, тогда вопрос про чистку снимаю.

Вот что заметил у вас, сравните строки:
dn: sambaDomainName=BASE,dc=base,dc=ruи
dn: sambaDomainName: TITAN,dc=titan,dc=zn
В чём разница ?
Может в этом всё дело...
« Последнее редактирование: 13.02.2019 21:53:08 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #19 : 13.02.2019 21:55:57 »
Покажите прям кусок из файла *.ldif, как заменили имя домена, лучше даже снимком экрана.
Сноси Винду, переходи на Линукс ! :)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #20 : 14.02.2019 10:10:12 »
Покажите прям кусок из файла *.ldif, как заменили имя домена, лучше даже снимком экрана.


Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #21 : 14.02.2019 10:15:45 »
То есть это:
dn: sambaDomainName: TITAN,dc=titan,dc=znпросто опечатка на форуме ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #22 : 14.02.2019 10:25:08 »
Да.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #23 : 14.02.2019 10:29:45 »
ldapsearch -LLL -b 'dc=titan,dc=zn' -x -H 'ldap://localhost' '(&(objectClass=sambaDomain)(sambaDomainName=TITAN.ZN))'Тогда сделайте ещё раз на целевом (новом) сервере, после выполнения slapadd и запуска slapd.
Сноси Винду, переходи на Линукс ! :)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #24 : 14.02.2019 11:05:16 »
Тогда сделайте ещё раз на целевом (новом) сервере, после выполнения slapadd и запуска slapd.

ldapsearch -LLL -b 'dc=titan,dc=zn' -x -H 'ldap://localhost' '(&(objectClass=sambaDomain)(sambaDomainName=TITAN.ZN))'
dn: sambaDomainName=TITAN,dc=titan,dc=zn
sambaDomainName: TITAN.ZN
sambaDomainName: TITAN
sambaSID: S-1-5-21-1998429667-3243626105-1001387784
sambaAlgorithmicRidBase: 1000
objectClass: sambaDomain
sambaNextUserRid: 1000
sambaMinPwdLength: 5
sambaPwdHistoryLength: 0
sambaLogonToChgPwd: 0
sambaMaxPwdAge: -1
sambaMinPwdAge: 0
sambaLockoutDuration: 30
sambaLockoutObservationWindow: 30
sambaLockoutThreshold: 0
sambaForceLogoff: -1
sambaRefuseMachinePwdChange: 0
sambaNextRid: 1553
« Последнее редактирование: 14.02.2019 11:10:38 от ApB »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #25 : 14.02.2019 11:12:12 »
Это после экспорта ldif но до очистки /var/lib/ldap
Чистку НЕ надо делать.
Вот теперь не забудьте поправить workgroup в /opt/samba.PDC/smb.conf и следом запускайте команду миграции:
samba-tool domain classicupgrade --dbdir=/opt/samba.PDC/dbdir/ --realm=titan.zn --dns-backend=SAMBA_INTERNAL /opt/samba.PDC/smb.conf
Сноси Винду, переходи на Линукс ! :)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #26 : 14.02.2019 11:27:16 »
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]"
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'))

Может проблема в этом?

smbldap_search_domain_info: Problem during LDAPsearch: Timed out
Сколько при выполнении система ожидает ответа от slapd? Запрос ldapsearch выполнялся секунд 10.
« Последнее редактирование: 14.02.2019 11:29:55 от ApB »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #27 : 14.02.2019 11:37:25 »
Может проблема в этом?
Хм, возможно, у меня очень быстро запрос выполняется.
Попробуйте тогда добавить в файл /opt/samba.PDC/smb.conf в раздел [global]:
ldap timeout = 50https://groups.google.com/forum/#!topic/mailing.unix.samba/dd_asSS1pYE
Сноси Винду, переходи на Линукс ! :)

Оффлайн ApB

  • Завсегдатай
  • *
  • Сообщений: 412
Re: Samba PDC to samba-dc
« Ответ #28 : 14.02.2019 12:15:46 »
ldap timeout = 50

В результате:


...

Ignoring group memberships of 'pc0481$' S-1-5-21-1998429667-3243626105-1001387784-1552: Unable to enumerate group memberships, (-1073741596,This error indicates that the requested operation cannot be completed due to a catastrophic media failure or an on-disk data structure corruption.)
init_sam_from_ldap: Entry found for user: pc0493$
ERROR: Got 0 entries for gid 5938, expected one
ERROR: Got 0 entries for gid 5938, expected one
Forcing Primary Group to 'Domain Users' for pc0493$
primary group of [pc0493$] not found
Ignoring group memberships of 'pc0493$' S-1-5-21-1998429667-3243626105-1001387784-1553: Unable to enumerate group memberships, (-1073741596,This error indicates that the requested operation cannot be completed due to a catastrophic media failure or an on-disk data structure corruption.)
Next rid = 12585
Exporting posix attributes
smbldap_search_paged: base => [dc=titan,dc=zn], filter => [(&(uid=*)(objectclass=sambaSamAccount))],scope => [2], pagesize => [1000]
smbldap_search_paged: search was successful
Reading WINS database
Cannot open wins database, Ignoring: [Errno 2] No such file or directory: '/opt/samba.PDC/dbdir/wins.dat'
lpcfg_load: refreshing parameters from /etc/samba/smb.conf
lpcfg_load: refreshing parameters from /etc/samba/smb.conf
ERROR(<class 'samba.provision.ProvisioningError'>): uncaught exception - ProvisioningError: guess_names: Realm 'TITAN.ZN' must not be equal to short domain name 'TITAN.ZN'!
  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 736, in upgrade_from_samba3
    use_ntvfs=use_ntvfs, skip_sysvolacl=True)
  File "/usr/lib64/python2.7/site-packages/samba/provision/__init__.py", line 2028, in provision
    sitename=sitename, rootdn=rootdn, domain_names_forced=(samdb_fill == FILL_DRS))
  File "/usr/lib64/python2.7/site-packages/samba/provision/__init__.py", line 643, in guess_names
    raise ProvisioningError("guess_names: Realm '%s' must not be equal to short domain name '%s'!" % (realm, domain))

И попытка запустить samba:
service samba is dead, but subsystem is locked
« Последнее редактирование: 14.02.2019 12:24:12 от ApB »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Re: Samba PDC to samba-dc
« Ответ #29 : 14.02.2019 12:36:14 »
hostname?
Сноси Винду, переходи на Линукс ! :)