hasła w ORACLE, włam administratora

Gdzie są przechowywane hasła?

Hasła w ORACLE przechowywane są w tabelce dba_users, kolumna password. Aby ją przejrzeć logujemy się na użytkownika sys.

 SQL>select password from dba_users where username='SCOTT';

 PASSWORD
 ------------------------------
 A894844C34402B67

W tabelce są umieszczone jedynie hasła w postaci zahaszowanej. Hasze tworzone są na podstawie loginu i hasła. Trzeba o tym pamiętać! Kiedyś po przeniesieniu bazy na nowy serwer usunęliśmy polskie znaki z loginów użytkowników. Spowodowało to, że osoby które miały przedtem polskie litery w nazwie użytkownika nie mogły się zalogować.

Hasło zmieniamy następująco:

 SQL>alter user scott identified by lion;

Teraz możemy się zalogować już na konto nieszczęsnego SCOTT' i trochę pobroić... Na koniec chcemy powrócić do starego hasła:

 SQL>alter user scott identified by values 'A894844C34402B67';