Hasło wygasło

Poniedziałek rano w pracy to zazwyczaj nie jest dobra pora na awarię. Niestety awarie nie wybierają a niektórym udałoby się zapobiec gdyby nie … inne awarie J
Pracownicy nie mogą pracować więc pewnie coś poważnego musiało się stać.
Zalogowałem się do klienta i podczas próby zalogowania na właściciela schematu zobaczyłem dość przyjemny jak na ‘awarię’ komunikat:

ORA-28001: the password has expired

Sprawdziłem więc jaki profil ma przypisany nieszczęsny użytkownik i kiedy wygasło konto
001_expiry_passwd

Na zrzucie powyżej widać że dla użytkownika nie ma stworzonej specjalnej grupy a więc można przyjąć że jego hasło wygasa co 180 dni jeśli nikt wcześniej nie zmieniał nic w profilu Default. Ale sprawdzić można to poniższym zapytaniem
002_expiry_passwd

Jeśli istnieje taka konieczność to należy zmienić parametr password_life_time choć należy pamiętać że nie jest to zalecane ze względów bezpieczeństwa
003_expiry_passwd

I jeszcze raz wykonujemy zapytanie czy przy parametrze jest wartość unlimited.

Dobry zwyczaj:
Dobrą praktyką jest stworzenie dedykowanego profilu na potrzeby działania systemu a nie korzystanie z default’owego. Są użytkownicy których zmiana hasła nie jest pożądana ponieważ korzystają z niego aplikacje zewnętrzne i przy każdym zmianie hasła konieczna byłaby ich zmiana. Natomiast dla operatorów korzystających z aplikacji zmiana hasła co 180 dni jest jak najbardziej wskazana.
Oczywiście powyższej sytuacji można było uniknąć.

Użyte skrypty:

SELECT S.PROFILE, S.EXPIRY_DATE
FROM DBA_USERS S 
WHERE S.USERNAME = 'NAZWA_UŻYTKOWNIKA’;

SELECT RESOURCE_NAME, LIMIT
FROM DBA_PROFILES
WHERE PROFILE = 'DEFAULT’;

alter profile DEFAULT LIMIT password_life_time UNLIMITED;

 

Posted in Administracja.