У меня проблема, которая заставляет меня ходить по кругу.
У нас есть 14 интегрированных серверов Centos 6 AD, использующих Samba / Winbind с idmap_ad (security = ads, idmap backend = ad), эта настройка отлично работает на 13 из них.
Проблема
Проблема в одном сервере и одном пользователе. Из окна проблемы вы просто не можете разрешить одного конкретного пользователя. Этот пользователь разрешается со всех остальных серверов.
Результаты при попытке решить на проблемном сервере:
# id username
id: username: No such user
# wbinfo -i username
Could not get info for user username
Результаты при попытке разрешить на хорошем сервере:
# id username
uid=12830(username) gid=100(users) groups=100(users)
# wbinfo -i username
username:*:12830:100:User Name:/home/username:/bin/bash
Попытки решения
Я остановил winbind и smb и очистил кеш winbind (winbindd_cache.tdb & winbindd_cidmap.tdb) и запустил их снова - без радости
Я начал winbind с -n для прямого поиска - без радости
К сожалению, это производственный сервер, поэтому я не могу использовать его слишком резко, и я не могу воспроизвести проблему на любом другом сервере, включая тестовый сервер, который я построил с использованием тех же конфигураций.
Я совершенно убежден, что это не winbind после вышеуказанного теста, но я не понимаю, почему пользователь не решает.
Я могу бегать wbinfo -n
и получите SID пользователей, затем запустите net cache list |grep thesid
и увидеть:
Ключ: IDMAP / SID2UID / S-1-5-21-746745685-249376194-4547331-1137 Тайм-аут: вторник, 2 апреля 17:30:32 2013 Значение: 1283 0 Ключ: IDMAP / UID2SID / 12830 Тайм-аут: вторник, 2 апреля 17: 30:32 2013 Значение: S-1-5-21-746745685-249376194-4547331 -1137
Это показывает правильный UID (12930), чтобы сервер мог найти его в AD и получить его атрибуты Unix.
Я могу бегать net lookup sid S-1-etc
и он успешно возвращает его как DOMAIN\username
Я тогда попробовал net cache flush
и перезапустил smb и winbind, это тоже не помогло.
Я все еще не могу id
пользователь ни wbinfo -i
и поэтому пользователь не может войти в систему или получить доступ к ресурсам samba, поскольку сервер не может их разрешить.
Бесит то, что все остальные пользователи работают, в том числе и вновь созданные!
...
Кто-нибудь может помочь? Я застрял!
...
Основные детали:
Этот сервер имеет ту же конфигурацию, что и другие на этом сайте, и они работают отлично, поэтому я знаю, что проблема не в них. Это как если бы серверу просто не нравился SID пользователя или что-то подобное, и он не будет искать его стандартными методами.
Дайте мне знать, если вам понадобится дополнительная информация.
Спасибо
Теперь решено, это сработало для меня:
Очистил все кеши Winbind и очистил сетевой кеш, не забудьте сделать резервную копию, прежде чем что-либо удалять!
Остановите службы 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
Проверьте это, попытавшись разрешить пользователя.