본문 바로가기

인프라/데이터 베이스

Oracle 계정 패스워드 만료기간 설정

계정 패스워드가 만료되면 안되는 계정들이 있는데 정책을 잘못 설정하여 패스워드가 만료된 경우가 있었다.

계정의 Profile을 통해 패스워드에 대한 정책을 수정할 수 있다.

 

PASSWORD_LIFE_TIME으로 패스워드 만료기간을 설정할 수 있다. (단위: 일)

--계정에 적용된 profile확인
select * from dba_users;

--profile 내용확인
select * from dba_profiles
where profilie='{PROFILE_NAME}';

--만료정책 변경
alter profile default limit password_life_time unlimited;

 

 

Parameter 내용
Failed_login_attempts 설정된 횟수만큼 로그인을 실패할 경우 계정 잠금
Password_lock_time 계정이 잠기면 며칠동안 잠글 것인가 설정
Password_life_time 패스워드 만료기간 설정
Password_grace_time 만료일 기준으로 설정된 날짜 만큼 유예기간 설정
Password_reuse_time 동일한 암호를 다시 사용할 수 없도록 기간 설정
Password_reuse_max 암호를 재사용할 경우 최대 사용 가능한 횟수 지정
Password_verify_function 암호 길이나 복잡도를 설정할 수 있는 검증함수


* VERIFY_FUNCTION

암호의 길이나 복잡도를 설정할 수 있음

verify_function을 사용할 수 도 있고 사용자가 별도로 함수를 만들어서 적용 가능

 

$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 스크립트를 실행하면 VERIFY_FUNCTION 함수가 생성되고

기본 VERIFY_FUNCTION은 암호를 4자 이하, ID와 암호를 같은 값으로 설정하는 경우 암호를 생성하지 못하도록 함

 

--VERIFY_FUNCTION 설정
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION verify_function; -- 10g
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION verify_function_11G; -- 11g

--**VERIFY_FUNCTION 설정 원복**
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;

--확인
select * from dba_profiles;

PROFILE                RESOURCE_NAME                  RESOURCE_TYPE         LIMIT
------------------- ------------------------------- --------------------- --------------
DEFAULT               PASSWORD_VERIFY_FUNCTION        PASSWORD              NULL