Я тестирую 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)?
.Я не уверен, правильное это решение или нет, но у меня была аналогичная проблема после компиляции и установки Samba 4.14.7.
Совершенно случайно мне удалось удалить /usr/local/samba/lib64/python3.6.
Чтобы исправить это, я сделал:
samba-tool снова работает!
Надеюсь, это поможет....