Skip to content

By Тодор in Linux, Windows

ldapmodify е основен инстурмент с който могат да се редактират обекти в една активна директория (АД) посредством *nix среда.

За едно сравнително популярно действие, като смяна на парола, обаче нещата не са толкова лесни, или поне на пръв поглед не са. Смяната на паролата в LDIF формат изглежда така:

dn: CN=Testi Testev,OU=Users,OU=Accounts,DC=corp,DC=local
changetype: modify
replace: userPassword
userPassword: SlivovSladoled

Kомандата се изпълнява успешно и редактира съответния атрибут, но ефект от това няма. Т.е. никаква парола не сме сменили.
Оказва се, че в Windows Active Directory, userPassword полето по подразбиране не е разрешено. Разрешаването му е лесно с ADSI Edit:


Стойността на dsHeuristics трябва да е точно 000000001 (не 1). След промяната е необходима и актуализация на схемата:

И сега вече нещата се случват! Пример:
LDAPTLS_REQCERT=never ldapmodify -D 'CN=Admin,OU=Admins,DC=corp,DC=local' -w AdminPwd -p 389 -ZZ -x -h 192.168.1.1 -f ldif.txt

  • Admin е администраторския акаунт, който има права да редактира чужди пароли.
  • LDAPTLS_REQCERT=never е необходимо, поради тази грешка: TLS: peer cert untrusted or revoked (0x42).
  • -ZZ -x са необходими, за да се закачим към ЛДАП сървъра по сигурен/криптиран канал. Иначе действието не е позволено.
  • 192.168.1.1 е домейн контролера.
  • ldif.txt са ЛДАП командите подобно на тези по-горе в статията.
  • *ADSI Edit е страхотен инструмент, с който, ако не се внимава, може напълно и завинаги да бъде сасипана една Активна Директория.

    Tags: , , , , , , , ,

    Comment Feed

    No Responses (yet)



    Some HTML is OK

    or, reply to this post via trackback.