Мы успешно развернули аутентификацию AD с использованием Samba и Winbind (idmap_ad) на шести серверах Centos 6 и успешно работаем уже несколько месяцев.
Один из серверов прекратил разрешать одно конкретное имя пользователя (# id username), этот пользователь AD разрешает на всех других серверах, а все остальные пользователи разрешают на проблемном сервере.
Я думаю, это может быть вызвано повреждением winbindd_idmap.tdb. Теперь самый простой способ проверить это - остановить winbind dlete файл, перезапустить samb и запустить winbind, а затем повторить попытку. Моя проблема в том, что в настоящее время существует замораживание изменений, и нам придется поднять RFC и т. Д., Чтобы проверить теорию.
У меня вопрос: можно ли очистить кеш winbind без перезапуска службы?
Или, если вы думаете, что это что-то еще, не стесняйтесь вмешиваться!
Спасибо
ОБНОВИТЬ:
Замораживание изменений завершено.
Я удалил winbindd_idmap.tdb, а также winbindd_cache.tdb и перезапустил winbind. Это не решило проблему.
Кроме того, сервер не разрешает случайных новых пользователей (некоторые это делают, некоторые нет). Мне сложно это понять.
Кто-нибудь может помочь?
Теперь решено, это сработало для меня:
Очистил все кеши Winbind и промыл net cache
.
Не забудьте сделать резервную копию, прежде чем что-либо удалять!
Остановите службы Winbind и Samba:
service winbind stop
service smb stop
Очистите кеш Samba Net:
net cache flush
Удалите кеши Winbind:
rm -f /var/lib/samba/*.tdb
rm -f /var/lib/samba/group_mapping.ldb
Запустите Samba, а затем службы Winbind - Примечание: порядок важен
service smb start
service winbind start
Проверьте это, попытавшись разрешить пользователя.
Может быть net cache flush
Сделаю.
Мне пришлось удалить /var/cache/samba
также, в дополнение к ответу malco (в Debian и Ubuntu)
service winbind stop
service stop samba
rm –rf /var/lib/samba
mkdir -p /var/lib/samba/private
rm –rf /var/cache/samba
net join ads –S "yourADserver" –U username
service winbind start
service samba start
Я могу попробовать проверка целостности всех файлов tdb. Есть много tdb файлов.
Утилита tdbbackup - это инструмент, который можно использовать для резервного копирования tdb-файлов samba. Этот инструмент также можно использовать для проверки целостности файлов tdb перед запуском Samba или во время нормальной работы. Если он обнаруживает повреждение файла, он будет искать предыдущую резервную копию файла резервной копии, из которой будет восстановлен поврежденный файл tdb. Утилиту tdbbackup можно безопасно запустить в любое время. Он был разработан таким образом, чтобы его можно было использовать в любое время для проверки целостности файлов tdb, даже во время работы Samba.
Установите для параметра «winbind cache time» небольшое значение (не 0, что, кажется, не работает) в smb.conf
https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html#WINBINDCACHETIME
Этот параметр определяет количество секунд, в течение которых демон winbindd (8) будет кэшировать информацию о пользователях и группах перед повторным запросом сервера Windows NT.
Это не относится к запросам аутентификации, они всегда оцениваются в режиме реального времени, если не включена опция автономного входа winbind.
По умолчанию: winbind cache time = 300