Resetowanie zapomnianego hasła administracyjnego IPA oraz Directory Managera LDAP

Red Hat 6.x / CentOS 6.x
Po skakaniach z tematu na temat i klikaniu różnych rzeczy na maszynach wirtualnych, pewnego dnia zaszła potrzeba, aby powrócić do IPA, żeby przetestować możliwość realizacji jednego z pomysłów. Oczywiście powrót nie okazał się zbyt prosy, ponieważ okazało się, że nie mam pojęcia jakie hasło ustawiłem dla użytkownika admin... Jak by tego było mało, jeśli dobrze pamiętam identyczne hasło ustawiłem dla usera administracyjnego LDAP-a, tak na wszelki wypadek, żeby łatwiej było zapamiętać....
Wyjścia były dwa - przeinstalować całość IPA (co nie byłoby takie złe, bo taka instalacja to dobre ćwiczenie na pamięć), lub bardziej ambitnie spróbować włamać się na te konta. Podszedłem do tematu ambitnie ciekaw rezultatu. Okazało się, że odzyskiwanie haseł dla obu użytkowników jest sprawą banalną.

P.S. Jeśli pamiętasz hasło do swojego ldapa pierwszy krok możesz pominąć.

Odzyskiwanie hasła Directory Managera (admina LDAP)

Odzyskanie hasła dla tego użytkownika sprowadza się do jego brutalnej zmiany na nowe. W tym celu, w pierwszej kolejności konieczne będzie zatrzymanie serwisu dirsrv:

[root@server ~]# service dirsrv stop
Shutting down dirsrv:
    IPA-LOCAL...                                           [  OK  ]
    PKI-IPA...                                             [  OK  ]

Do podmiany hasła będzie nam potrzebny hash nowego hasła. Uzyskamy go poprzez:

[root@server ~]# pwdhash nasze_haslo
{SSHA}jobpzl0uKb0iZ7cIu8/HKm/Er9lxJfp+jftzYQ==

Kolejnym krokiem będzie podmiana hasła. W tym celu musimy wyedytować jeden plik.
I tu uwaga. Lokalizacja pliku będzie nieco inna zależnie od instancji dla jakiej pracuje. Lokalizacja pliku wygląda następująco: /etc/dirsrv/sldap-instancja/
Mój ldap pracuje dla IPA w domenie ipa.local więc katalogiem będzie /etc/dirsrv/sldap-IPA-LOCAL/.
Plikiem, który należy wyedytować jest dse.ldif.

[root@server ~]# vi /etc/dirsrv/slapd-IPA-LOCAL/dse.ldif

W pliku tym musimy znaleźć linijkę zawierającą stare hasło:

nsslapd-rootpw: {SSHA}x03lZLMyOPaGH5VB8fcys1IV+TVNbBIOwZEYoQ==

i oczywiście podmienić hash hasła na ten uzyskany przy użyciu komendy pwdhash.

Pozostaje nam jeszcze wystartować usługę:

[root@server ~]# service dirsrv start
Starting dirsrv:
    IPA-LOCAL...                                           [  OK  ]
    PKI-IPA...                                             [  OK  ]

Reset hasła admina IPA

Odzyskiwanie hasłą usera admin w IPA jest "grzeczniejsze" i nie wymaga ingerencji w pliki. W pierwszej kolejności musimy wyeksportować do zmiennej systemowej lokalizację naszego certyfikatu IPA. Domyślnie będzie to:

[root@server ~]# export LDAPTLS_CACERT=/etc/ipa/ca.crt

Możemy teraz zmienić hasło admina

[root@server ~]# ldappasswd -ZZ -D 'cn=directory manager' -W -S uid=admin,cn=users,cn=accounts,dc=ipa,dc=local -H ldap://server.ipa.local
New password: {nowe_haslo_admina}
Re-enter new password: {nowe_haslo_admina}
Enter LDAP Password: {haslo_directory_managera}

 Zaznaczone wartości, tj. domenę oraz adres katalogu ldap należy oczywiście dostosować do własnego środowiska.

Brak komentarzy:

Prześlij komentarz