[devel] Новый Kerberos и новая Samba

Evgeny Sinelnikov sin на altlinux.org
Чт Ноя 23 14:38:38 MSK 2017


23 ноября 2017 г., 3:46 пользователь Evgeny Sinelnikov
<sin at altlinux.org> написал:
> 22 ноября 2017 г., 20:50 пользователь Alexander Bokovoy
> <ab at altlinux.org> написал:
>> 2017-11-22 16:04 GMT+02:00 Evgeny Sinelnikov <sin at altlinux.org>:
>>> Здравсвуйте,
>>>
>>> В эти выходные в сизиф отправился новый libkrb5. Новая Samba (пока
>>> 4.6.11, готовится 4.7.3) тоже уехала в сизиф и p8.
>>>
>>> В krb5.conf опция includedir для /etc/krb5.conf.d/ теперь включена, по
>>> умолчанию.
>>>
>>> При этом проявилась регрессия, которая имелась и раньше. При включении
>>> includedir проблема проявляется вне зависимости от версии libkrb5. В
>>> p8 на libkrb5-1.14.5 проблема воспроизводится точно также, как и в
>>> сизифе на libkrb5-1.15.2 и для samba-DC-4.6.x выглядит следующим
>>> образом:
>>>
>>> ==> server.domain.alt: + samba-tool domain provision
>>> --realm=DOMAIN.ALT --domain DOMAIN '--adminpass=Pa$$word'
>>> --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307
>>> --host-ip=192.168.56.2
>>> ==> server.domain.alt: Looking up IPv6 addresses
>>> ==> server.domain.alt: Setting up share.ldb
>>> ==> server.domain.alt: Setting up secrets.ldb
>>> ==> server.domain.alt: Setting up the registry
>>> ==> server.domain.alt: Setting up the privileges database
>>> ==> server.domain.alt: Setting up idmap db
>>> ==> server.domain.alt: Setting up SAM db
>>> ==> server.domain.alt: Setting up sam.ldb partitions and settings
>>> ==> server.domain.alt: Setting up sam.ldb rootDSE
>>> ==> server.domain.alt: Pre-loading the Samba 4 and AD schema
>>> ==> server.domain.alt: Adding DomainDN: DC=domain,DC=alt
>>> ==> server.domain.alt: Adding configuration container
>>> ==> server.domain.alt: Setting up sam.ldb schema
>>> ==> server.domain.alt: Setting up sam.ldb configuration data
>>> ==> server.domain.alt: Setting up display specifiers
>>> ==> server.domain.alt: Modifying display specifiers
>>> ==> server.domain.alt: Adding users container
>>> ==> server.domain.alt: Modifying users container
>>> ==> server.domain.alt: Adding computers container
>>> ==> server.domain.alt: Modifying computers container
>>> ==> server.domain.alt: Setting up sam.ldb data
>>> ==> server.domain.alt: Setting up well known security principals
>>> ==> server.domain.alt: Setting up sam.ldb users and groups
>>> ==> server.domain.alt: ERROR(ldb): uncaught exception - operations
>>> error at ../source4/dsdb/samdb/ldb_modules/password_hash.c:2820
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/netcmd/__init__.py", line
>>> 176, in _run
>>> ==> server.domain.alt:     return self.run(*args, **kwargs)
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/netcmd/domain.py", line 471,
>>> in run
>>> ==> server.domain.alt:     nosync=ldap_backend_nosync,
>>> ldap_dryrun_mode=ldap_dryrun_mode)
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/provision/__init__.py", line
>>> 2175, in provision
>>> ==> server.domain.alt:     skip_sysvolacl=skip_sysvolacl)
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/provision/__init__.py", line
>>> 1787, in provision_fill
>>> ==> server.domain.alt:     next_rid=next_rid, dc_rid=dc_rid)
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/provision/__init__.py", line
>>> 1447, in fill_samdb
>>> ==> server.domain.alt:     "KRBTGTPASS_B64":
>>> b64encode(krbtgtpass.encode('utf-16-le'))
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/provision/common.py", line
>>> 55, in setup_add_ldif
>>> ==> server.domain.alt:     ldb.add_ldif(data, controls)
>>> ==> server.domain.alt:   File
>>> "/usr/lib64/python2.7/site-packages/samba/__init__.py", line 225, in
>>> add_ldif
>>> ==> server.domain.alt:     self.add(msg, controls)
>>>
>>>
>>> Мы уже с этим сталкивались:
>>> - Не работает создание домена SambaDC
>>> https://bugzilla.altlinux.org/show_bug.cgi?id=33409
>>>
>>> И не мы одни, но при нашем участии:
>>> - [Samba] samba 4.6.0 dc provisioning fails with exception
>>> https://lists.samba.org/archive/samba/2017-March/207031.html
>>> - Uncaught exception at ldb_modules/password_hash.c:2241 during new
>>> domain provision
>>> https://bugzilla.samba.org/show_bug.cgi?id=11573
>>>
>>> В последней баге (Samba #11573) Andrew Bartlett, в итоге, ответил:
>>>> We need to backport:
>>>> https://github.com/heimdal/heimdal/commit/fe43be85587f834266623adb0ecf2793d212a7ca
>> Проще говоря, heimdal до какой-то версии не умел include/includedir.
>>
>>> В целом, "это не бага, а фича". Так сложилось. Причём для samba-4.7,
>>> которая собрана  в новой федоре это уже и не актуально. Новая Samba
>>> поддерживает MIT Kerberos, а не только Нeimdal.
>> Думаю, что можно добавить этот патч в Самбу 4.6.3 в сборке. И
>> избавиться от него при переезде на MIT.
>>
>
> Да, я именно так и думал поступить. Спасибо, что укрепили меня в
> логичности этого варианта.
>

Сделал бекпорт - не успел пока проверить:
#195197 TESTED #1 [test-only] sisyphus samba-DC.git=dc/4.6.11-alt2%ubt



-- 
Sin (Sinelnikov Evgeny)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-heimdal-add-include-includedir-directives-for-krb5.c.patch
Type: text/x-patch
Size: 8246 bytes
Desc: not available
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20171123/d4db9ad7/attachment-0002.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-heimdal-fix-CR-comments-on-include-includedir.patch
Type: text/x-patch
Size: 6573 bytes
Desc: not available
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20171123/d4db9ad7/attachment-0003.patch>


Подробная информация о списке рассылки Devel