После установки на несколько систем под управлением Solaris рекомендованных обновлений из-за одной известной проблемы и не только, я внезапно наступил на аккуратно разложенные авторами обновлений грабли с samba.
Сразу после загрузки системы я получил следующие сообщения:
Oct 25 02:30:48 xxx svc.startd[10]: [ID 652011 daemon.warning] svc:/network/wins:default: Method "/usr/sbin/nmbd -D" failed with exit status 1.
Oct 25 02:30:48 xxx svc.startd[10]: [ID 652011 daemon.warning] svc:/network/sa
mba:default: Method "/usr/sbin/smbd -D" failed with exit status 1.
Oct 25 02:30:48 xxx last message repeated 2 times
Oct 25 02:30:48 xxx svc.startd[10]: [ID 748625 daemon.error] network/samba:def
ault failed: transitioned to maintenance (see 'svcs -xv' for details)
Oct 25 02:30:49 xxx svc.startd[10]: [ID 652011 daemon.warning] svc:/network/wi
ns:default: Method "/usr/sbin/nmbd -D" failed with exit status 1.
Oct 25 02:30:49 xxx last message repeated 1 time
Oct 25 02:30:49 xxx svc.startd[10]: [ID 748625 daemon.error] network/wins:defa
ult failed: transitioned to maintenance (see 'svcs -xv' for details)
При этом в /var/log/samba
полная тишина и отсутствие каких либо сообщений. В SMF-ном /var/svc/log/network-samba:default.log
информации не многим больше:
[ Oct 25 02:37:00 Executing start method ("/usr/sbin/smbd -D") ]
[ Oct 25 02:37:00 Method "start" exited with status 1 ]
Ручной запуск smbd
в интерактивном режиме прояснил ситуацию:
# smbd -i
smbd version 3.5.8 started.
Copyright Andrew Tridgell and the Samba Team 1992-2010
params.c:OpenConfFile() - Unable to open configuration file "/etc/samba/smb.conf":
No such file or directory
error opening config file
Оказалось, в рекомендованный кластер обновлений вошёл патч на Samba (119757-20 для sparc и 119758-20 для x86), который обновляет оный продукт в Solaris аж до версии 3.5.8. И эта эта новая версия для хранения конфигурацинного файла smb.conf
и каталога private вместо /etc/sfw
теперь использует /etc/samba
. Что помешало авторам обновления включить в патч и перенос существующих файлов в новое место останется для меня загадкой.
После переноса в /etc/samba
конфигурационных файлов перезапускаю samba:
svcadm clear samba wins
И пытаюсь обратиться к ней через smbclient
. И опять неудача. Смотрим в log.smbd
:
[2011/10/25 11:19:43.187381, 0] lib/smbldap.c:738()
StartTLS not supported by LDAP client libraries!
[2011/10/25 11:19:43.187818, 1] lib/smbldap.c:1330()
Connection to LDAP server failed for the 9 try!
Гугл по данным сообщениям первым же результатом намекает, что мы это уже проходили и исправляли (146363-01 и 146364-01). Но Oracle решил повторить и при сборке samba 3.5.8 опять забыл включить поддержку TLS/SSL для LDAP. При этом man smb.conf утверждает:
Default: ldap ssl = start tls
Т.е. по умолчанию samba пытается использовать start tls, но собрана без его поддержки.
У меня на этой же системе работает и LDAP replica, поэтому отсутствие поддежки шифрования не принципиально, и заставить samba работать удалось добавлением в smb.conf
в секцию [global]
строки:
ldap ssl = Off
Но неприятный осадок остался.