Назад | Перейти на главную страницу

Разрешение пользователя Samba Winbind

Мы успешно развернули аутентификацию 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