2015-09-02 8 views
3

Я устанавливаю ApacheDS с включенной политикой по умолчанию. Для тестирования я заблокировал простого пользователя (objectClass = Person, расширенный с помощью некоторого пользовательского класса User-objectClass), введя неверные учетные данные несколько раз. Как я и ожидал, пользователь был заблокирован (ошибка msg: пользователь был заблокирован навсегда).Как разблокировать пользователя на ApacheDS

Вопрос сейчас: Как разблокировать пользователя снова? Есть ли лучший способ, а затем просто удалить и добавить снова?

Я пробовал то же самое с расширенным пользователем (objectClass = pwdPolicy), но при добавлении пользователя не было добавлено никаких атрибутов pwd *.

ответ

5

Совсем недавно я столкнулся с той же проблемой на работе. Но, похоже, в Интернете нет ответа. Наконец, я нашел ответ просмотрев этот документ:

Password Policy for LDAP Directories draft-behera-ldap-password-policy

  • В разделе 5.3.3: pwdAccountLockedTime

Этот атрибут хранит время, учетная запись пользователя была заблокирована. A
заблокированная учетная запись означает, что пароль больше не может использоваться для
authenticate. Значение 000001010000Z означает, что учетная запись была
заблокирована навсегда, и что только администратор паролей может разблокировать счет.

  • В разделе 5.2.12: pwdLockoutDuration

Этот атрибут содержит количество секунд, что пароль не
могут быть использованы для аутентификации из-за слишком большого числа неудачных попыток связывания. Если
этот атрибут не присутствует, или , если значение равно 0, то пароль
не может быть использован не для проверки подлинности до сброса с помощью пароля администратора
.

Через два выше раздела, мы можем предположить, что мы должны подключиться к серверу ApacheDS с администратором (по умолчанию: UID = админ, НУ = система, пароль = секрет), и удалить атрибут Парольпользователя пользователя. Таким образом, заблокированный пользователь может быть разблокирован.

Я практиковал этот сулотион, и он хорошо работает.

Я предлагаю вам установить значение для атрибута pwdLockoutDuration, в этом случае пользователь не может быть заблокирован навсегда.

Подробнее читайте:.

ApacheDS password Policy

+0

Спасибо большое! Я попробую. Блокировка учетной записи в течение нескольких минут/часов должна быть достаточной для блокировки атаки грубой силы. В противном случае пользователь может сбросить пароль (удалив старый и создав новый). – Inceddy

+0

Вы правы, пользователь может сбросить пароль. Но когда пользователь постоянно заблокирован, он не может разблокировать использование, сбросив свой пароль с привилегиями, отличными от администратора. Только через администратора. – Mister

+0

Войдите в систему как администратор, найдите пользователя, правого клика и выберите «Fetch-> Fetch operating attributes». Теперь отображается pwdAccountLockedTime, и вы можете удалить его, чтобы разблокировать пользователя. –

1

Ответ на Mister совершенна, чтобы разблокировать учетную запись, и если вы хотите установить pwdLockoutDuration для одного пользователя (при условии, что пользователь имеет implemnted в объектный pwdPolicy

Существует также глобальный конфигурационный файл находится в:

ou=config 
    * ads-directoryServiceId=<default> 
    * ou=interceptors 
     * ads-interceptorId=authenticationInterceptor 
      * ou=passwordPolicies 

Здесь мы можем установить политику паролей по умолчанию:

enter image description here

Как шахта просто тест-сервер, я полностью отключил блокировку с помощью установив ads-pwdlockout в FALSE. Подробнее о настройке политики паролей читайте в файле official docs.

1

Используйте ApacheDS и войдите в систему как администратор, найдите пользователя, правого клика и выберите «Fetch-> Fetch Operating attributes». Теперь отображается pwdAccountLockedTime, и вы можете удалить его, чтобы разблокировать пользователя.