У меня проблема с AD и ntlm_auth. Я использую следующую команду, чтобы запросить сервер AD для проверки существования пользователя:
ntlm_auth --use-cached-creds --username=SOME_USER --password=SOME_PASS --domain=SOME_DOMAIN
Но дело в том, что когда я меняю пароль пользователя в AD, работают оба следующих запроса:
ntlm_auth --use-cached-creds --username=SOME_USER --password=OLD_PASS --domain=SOME_DOMAIN
ntlm_auth --use-cached-creds --username=SOME_USER --password=NEW_PASS --domain=SOME_DOMAIN
Если я удалю .tdb
файлы кеша в /var/cache/samba/
, Я могу войти только с NEW_PASS. Как я могу это решить? Есть ли способ заставить сервер не кэшировать пароли? Или какой-либо флаг для ntlm_auth, который я могу использовать, чтобы не принимать во внимание old_password?
Я использую CentOS5 и ntlm_auth 3.3.8.
Заранее спасибо.
Похоже, вы столкнулись с «функцией», представленной в Server 2003 SP1 и все еще присутствующей по крайней мере в Server 2008 R2. По умолчанию контроллеры домена теперь позволяют использовать последний предыдущий пароль для проверки подлинности NTLM в течение одного часа. Это поведение можно изменить, создав значение DWORD OldPasswordAllowedPeriod
в HKLM\SYSTEM\CurrentControlSet\Control\Lsa
. Значение указано в минутах, значение 0 отключит его, и перезапуск не требуется. Также обратите внимание, что:
Видеть Пакет обновления 1 для Windows Server 2003 изменяет поведение сетевой аутентификации NTLM для подробностей.
РЕДАКТИРОВАТЬ: отдавая должное, я изначально наткнулся на эту статью на http://timtechnoblog.blogspot.com/2010/02/old-password-still-valid-for-hour.html и вспомнил, что этот вопрос остался без ответа.
ntlm_auth по умолчанию использует /etc/samba/smb.conf. Попробуйте настроить тег ниже в smb.conf
winbind offline logon = false