[samba] libwbclient от samba и sssd

Alexander Bokovoy ab на samba.org
Чт Ноя 10 09:09:02 MSK 2016


On to, 10 marras 2016, Evgeny Sinelnikov wrote:
> Здравствуйте,
> 
> хочу отметить проблему с альтернативами библиотеки libwbclient. Честно
> говоря, мне до сих непонятен сакральный смысл несовместимых библиотек
> с одним и тем же сонеймом. Но это не мы придумали, похоже. Мы просто
> это утащили.
> 
> Тем не менее мы с этим столкнулись:
> https://forum.altlinux.org/index.php?topic=37610.0
> 
> У меня это выглядит так:
> $ readlink -f /usr/lib64/libwbclient.so.0
> /usr/lib64/sssd/modules/libwbclient.so.0.12.0
> $ rpm -qf /usr/lib64/sssd/modules/libwbclient.so.0.12.0
> libwbclient-sssd-1.14.1-alt1.M80P.1
> 
> $ sudo apt-get remove /usr/lib64/sssd/modules/libwbclient.so.0.12.0
> [sudo] password for sin:
> Чтение списков пакетов... Завершено
> Построение дерева зависимостей... Завершено
> Выбрано libwbclient-sssd для '/usr/lib64/sssd/modules/libwbclient.so.0.12.0'
> Следующие пакеты будут УДАЛЕНЫ:
>   libwbclient-sssd
> 0 будет обновлено, 0 новых установлено, 1 пакетов будет удалено и 71
> не будет обновлено.
> Необходимо получить 0B архивов.
> После распаковки будет освобождено 35,3kB дискового пространства.
> Продолжить? [Y/n] y
> Совершаем изменения...
> Preparing...   ...############## [100%]
> Running /usr/lib/rpm/posttrans-filetriggers
> Завершено.
> 
> $ readlink -f /usr/lib64/libwbclient.so.0
> /usr/lib64/samba/wbclient/libwbclient.so.0.13
> 
> 
> В оригинальном решении тоже бывали и бывают коллизии:
> https://lists.fedoraproject.org/pipermail/scm-commits/Week-of-Mon-20141124/1454630.html
> https://bugzilla.redhat.com/show_bug.cgi?id=1175511
> https://bugzilla.redhat.com/show_bug.cgi?id=1214868
> 
> 
> Я пока не понял для чего это нужно и, если кто-то знает, буду
> благодарен, если просветит. Это сильно ускорит процесс разбора
> текущего состояния и, может быть, поможет быстро решить проблемы наших
> пользователей.
Если не используется SSSD, не устанавливайте поддержку libwbclient от
SSSD.

libwbclient-sssd предназначен для единственного случая, когда
используется среда с SSSD и Керберос -- это может быть как FreeIPA, так
и Active Directory. В этом случае не предполагается использование
NTLMSSP, поскольку везде есть возможность предъявить билет Kerberos.
libwbclient-sssd не реализует аутентификацию по NTLMSSP и проксирование
запросов аутентификации к DC, поскольку это привело бы к дублированию
кода самого winbindd. 

Мы работаем в долгосрочной перспективе над разделением кода winbindd на
составные части, позволяющие использовать аутентификацию и обращения к
контроллерам доменов из разных управляющих сред (собственно winbindd и
sssd). Вся остальная логика доступа в winbindd сосредоточена на
обработке доверительных отношений между доменами, а smbd обращается в
winbindd по стандартным интерфейсам (libwbclient API).

Пока эта работа не доведена до конца, реализация разделения функционала
только обсуждается. Поэтому при изменении API libwbclient приходится
вручную обновлять код libwbclient-sssd -- если добавленные функции не
имеют аналогов в SSSD, они просто не реализуются, но soname приходится
"поднимать". Так что простое исправление -- пропатчить и пересобрать
SSSD, чтобы libwbclient-sssd использовал тот же soname.


-- 
/ Alexander Bokovoy


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