Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:password_identified_by_values_12c

Oracle 12c - Unexpire user account - Password mit alten Wert wieder neu setzen - "identified by Values" einsetzen

mit Prinzip min. seit 7i, hier aktuell für 12c

Leider gibt es in Oracle kein „unexpire“ eines Users wenn das Passwort abzulaufen droht bzw. schon abgelaufen ist.

Das Password muss immer neu gesetzt werden, damit diese Werte zurück gesetzt werden!

Aber was macht der DBA wenn das Password unbekannt ist und/oder das Profile des Users die Verwendung des alten Passwords verhindert?

Bzw. das alte Password nicht mehr den Firmen Regularien entspricht aber in der Applikation nicht mehr geändert werden kann? Das Datenbank Profil also verhindert das das Password auf diesen Wert gesetzt werden kann!

Nun müsste erst mal das Profil geändert werden usw..

Eine Lösung, als sysdba:

  • Sichern des alten Passworts über dbms_metadata.get_ddl
  • Neu in der DB anlegen
Aus Security Sicht sollte das aber oft vorkommen! Das ist nur ein böser Workaround!

12c - identified by Values

Auch in 12c kann ein User, dessen Password nicht bekannt ist, mit einem passenden Password Hash angelegt werden.

Dazu ist nur der richtige Hash zu verwenden, der pre 11g Standard Hash funktioniert hier nicht!

User Hash aus Datenbank A auslesen mit:

sqlplus / AS sysdba
 
SET long 640000
 
SELECT dbms_metadata.get_ddl('USER','GPI') FROM dual;
 
 
--alernativ Wert von spare4 verwenden
 
SELECT password,spare4 FROM USER$ WHERE name='GPI';

In meinen Fall erhalten wir einen String :

S:CD8CB863CB4C6A07DCF67F2DDE2883D939C8A8328CB644D329E9F747D269;
H:EED4F1F7F4E25077C93A869390026CA3;
T:A0A2C54AB4CABEB2B9D208A791B796509A139490902A79378D8D247BD6F22668C866D91E1014B5F44845671357F2D3377F97D2FCBD5FA040E2C72B43E7DF4F05E62A8A51C861DF8551964A9489E56B0E;
4CCE69E9E2DA9CE9'

Zum Glück ist der alte MD5 Hash mit Username als Password oft auch noch dabei .-), das macht das Entschlüsseln dann doch viel einfacher

Mit diesem String kann nun der User in der Datenbank B mit „ALTER USER „GPI“ IDENTIFIED BY VALUES '<langer hash>'“ wieder auf sein alters Passwort gesetzt werden.


Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
dba/password_identified_by_values_12c.txt · Zuletzt geändert: 2018/01/12 21:42 von gpipperr