Compiled samba from source upgrade - version mismatch

Я тестирую Samba 4 AD (тестовое окружение) на CentOS 8. Первая попытка была с версией 4.13.5 без поддержки cups, потому что я установил пакеты, перечисленные в разделе "Manually maintained Distribution-specific Package lists" по этой ссылке https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba. Это была моя ошибка, но после ручной установки пакетов все прошло успешно.

Несколько часов спустя я понял, что забыл поддержку cups, поэтому я установил cups-devel + другие пакеты и снова запустил ./configure && make && make install. Все выглядит нормально и домен все еще работает.

Вчера я попробовал обновиться до 4.14.2, но на этот раз я увидел раздел "Verified Package Dependencies" https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba и установил все пакеты по ссылке git.samba.org (кроме пакета git) перед запуском ./configure && make && make install

Сегодня я пытался отключить сложность пароля для пользователей Windows. Я безуспешно пытался использовать GPO, но нашел эту ссылку: https://serverfault.com/a/780966. В двух словах тот пользователь сказал, что невозможно изменить сложность пароля с помощью GPO в Samba AD и сказал, что ему удалось добиться успеха с помощью этой команды:

samba-tool domain passwordsettings set --complexity=off

Но я получил ошибку о другой версии Samba:

[root@ad1 ~]# /usr/local/samba/bin/samba-tool domain passwordsettings set --complexity=off
ERROR(<class 'ImportError'>): uncaught exception - /usr/local/samba/lib/private/libcliauth-samba4.so: version `SAMBA_4.13.5' not found (required by /usr/local/samba/lib64/python3.6/site-packages/samba/samba3/libsmb_samba_internal.cpython-36m-x86_64-linux-gnu.so)
  File "/usr/local/samba/bin/samba-tool", line 45, in <module>
    retval = cmd._run("samba-tool", subcommand, *args)
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/netcmd/__init__.py", line 235, in _run
    return self.subcommands[subcommand]._run(
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/netcmd/main.py", line 36, in __getitem__
    fromlist=['cmd_%s' % attr]),
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/netcmd/domain.py", line 44, in <module>
    import samba.ntacls
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/ntacls.py", line 35, in <module>
    from samba.samba3 import libsmb_samba_internal as libsmb

Какой-то пакет все еще ссылается на версию 4.13.5 вместо новой 4.14.2. Что я сделал не так во время обновления? Спасибо

UPDATE: Поскольку это тестовая среда, я попробовал следующее:

1. Stop samba ad dc
2. Backup /usr/local/samba
3. Delete /usr/local/samba/bin, lib, lib64, libexec and sbin
4. cd to source samba-4.14.2 and make install
5. Start samba ad dc + DB check

Теперь нет проблем со ссылкой на старую версию. Значит, я что-то сделал не так во время обновления 4.13.5 -> 4.14.2 или была какая-то сиротливая ссылка на старую скомпилированную версию (ошибка samba)?

.
0
задан 26 March 2021 в 15:38
1 ответ

Я не уверен, правильное это решение или нет, но у меня была аналогичная проблема после компиляции и установки Samba 4.14.7.

Совершенно случайно мне удалось удалить /usr/local/samba/lib64/python3.6.

Чтобы исправить это, я сделал:

  1. Остановил Samba4
  2. Повторно запустил make install для samba-4.14.7
  3. Перезапустил samba

samba-tool снова работает!

Надеюсь, это поможет....

0
ответ дан 27 August 2021 в 18:41

Теги

Похожие вопросы