Изменение характеристик пароля
Спецификация
::=
PASSWORD {LENGTH {MIN длина пароля | UNLIMITED}
| LIFE {TIME количество дней | UNLIMITED}}
::=
::=
Примечание
Все действия, связанные с измененнием параметров пароля и срока его действия, должны быть согласованы с пользователем, либо администратор БД должен уведомить пользователя о произведенных им изменениях.
Синтаксические правила
-
Опция
PASSWORD LENGTH UNLIMITED
разрешает использовать пароль любой длины в диапазоне от 0 (т.е. без пароля) до 18.Примечание
При нулевой длине пароля доступ пользователя к БД выполняется без аутентификации (см. пункт «Создание пользователя»).
-
Опция
PASSWORD LENGTH MIN
устанавливает минимальную длину пароля пользователя (от 0 до 18).Изменение длины пароля пользователя, подавшего эту команду: alter user password length min 6;
-
Текущую длину пароля пользователя команда опция
PASSWORD LENGTH MIN
не проверяет, она влияет только на выполнение последующих командCREATE USER
,ALTER USER
илиGRANT
с ключевым словомIDENTIFIED
. -
Опция
PASSWORD LIFE TIME < количество дней >
устанавливает длительность действия пароля.< Количество дней >
задает время действия пароля (в днях) с момента выполнения данной команды.alter user user1 password life time 30;
-
Значение
< количество дней >
должно быть в диапазоне от 0 до 65534. -
Длительность действия пароля проверяется только в процессе аутентификации пользователя. Это означает, что текущая сессия пользователя после истечения срока действия пароля прервана не будет и может продолжаться сколь угодно долго.
-
Если обозначена опция
PASSWORD LIFE TIME < количество дней >
, то заданное значение прибавляется к текущей дате. Полученная дата ограничивает срок действия пароля. Попытка пользователя получить доступ к БД в текущем сеансе после истечения срока действия пароля будет заблокирована – на любую команду, кромеALTER USER
, пользователь будет получать код завершения 1022 («Нарушение привилегий»). После смены пароля по командеALTER USER
доступ пользователя к БД будет возобновлен вплоть до истечения следующего интервала времени действия пароля. -
Доступ пользователя к БД после окончания срока действия пароля может быть восстановлен в том случае, если администратор БД подаст команду на смену пароля пользователя при помощи оператора
GRANT
, например:grant dba to TEST identified by '12345678';
или если администратор БД (SYSTEM) отменит ограничение на время действия пароля с помощью оператора
alter user < имя пользователя > password life unlimited;
-
Опция
PASSWORD LIFE UNLIMITED
отменяет ранее установленный срок действия пароля.
Пример
Выполняем блок запросов: drop user TEST cascade; create user TEST identified by '12345678'; grant dba to TEST; alter user TEST password life time 1; username TEST/12345678 ! таблица может быть создана create or replace table test(i int); Затем средствами ОС переводим системное время на сутки вперед и выполняем блок запросов, в котором первый оператор create table должен быть заблокирован (код завершения 1022 «Нарушение привилегий»), а второй – отработать корректно: ! создать таблицу нельзя – истек срок действия пароля username TEST/12345678 create or replace table test(i int); username SYSTEM/MANAGER8 ! дать пользователю TEST привилегию DBA и установить новый пароль grant dba to TEST identified by '123456781'; username TEST/123456781 ! таблица может быть создана create or replace table test(i int);