11g 부터 user가 기본으로 180일 제한이 걸려있다..
오라클형들은 자꾸 기본 보안을 높이넹 ~_~
일단 dba_profiles 테이블을 보자면 다음과 같이 되어있음을 확인할수 있다.
10:14:24 SYS@RAC1> desc dba_profiles; Name Null? Type ----------------------------------------------------- -------- ------------------------------------ PROFILE NOT NULL VARCHAR2(30) RESOURCE_NAME NOT NULL VARCHAR2(32) RESOURCE_TYPE VARCHAR2(8) LIMIT VARCHAR2(40)다음과 같은 명령으로 lock혹은 expired 되어있는 user와 profile을 확인한다
15:04:19 SYS@RAC1> select USERNAME, ACCOUNT_STATUS,PROFILE 15:06:44 2 from dba_users; USERNAME ACCOUNT_STATUS PROFILE ------------------------------ -------------------------------- ------------------------------ BI OPEN DEFAULT SCOTT OPEN DEFAULT OGGT OPEN DEFAULTLock 되어있는 유저는 다음과 같은 명령으로 해당 사용자를 unlock 할수 있다.
10:49:40 SYS@RAC1> alter user bi account unlock; User altered. Elapsed: 00:00:00.28 11:17:00 SYS@RAC1> select USERNAME, ACCOUNT_STATUS,PROFILE from dba_users where USERNAME='BI'; USERNAME ACCOUNT_STATUS PROFILE ------------------------- -------------------------------- ------------------------------ BI EXPIRED DEFAULT 1 row selected.Lock 상태는 사라지고 Expired 상태로 된 것을 확인
13:46:48 SYS@RAC1> select name, password from user$ where name='BI'; NAME PASSWORD ------------------------------ ------------------------------ BI EB32A21961929D0C 해당 명령어로 user의 password hash값 확인 13:48:17 SYS@RAC1> alter user bi identified by values 'EB32A21961929D0C'; User altered. 13:48:51 SYS@RAC1> select USERNAME, ACCOUNT_STATUS,PROFILE from dba_users where USERNAME='BI'; USERNAME ACCOUNT_STATUS PROFILE ----------------------- -------------------------------- ------------------------------ BI OPEN DEFAULT 1 row selected.계정이 Open 상태로 된 것을 확인한다.
이렇게만 하면 일시적으로 expired 되거나 unlock된 계정을 풀수는 있지만...
장기간 운영해하는 입장에서는 여간 귀찮은게 아니다...
default profile을 다음과 같이 수정해서 귀차니즘에서 탈피~!
10:14:12 SYS@RAC1> col limit for a20 select * from dba_profiles where resource_type='PASSWORD'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- -------------------- MONITORING_PROFILE FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 MONITORING_PROFILE PASSWORD_LIFE_TIME PASSWORD DEFAULT DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 MONITORING_PROFILE PASSWORD_REUSE_TIME PASSWORD DEFAULT DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED MONITORING_PROFILE PASSWORD_REUSE_MAX PASSWORD DEFAULT DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED MONITORING_PROFILE PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL MONITORING_PROFILE PASSWORD_LOCK_TIME PASSWORD DEFAULT DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 MONITORING_PROFILE PASSWORD_GRACE_TIME PASSWORD DEFAULT DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 SQL>alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited PASSWORD_LOCK_TIME unlimited PASSWORD_GRACE_TIME unlimited PASSWORD_LIFE_TIME unlimited;패스워드 제한설정
PASSWORD history : 이전 암호를 기억해 놓았다가 다음에 변경시 동일한 암호사용을 금지함
password_reuse_time : 동일한 password를 적용한 기간동안 사용금지
password_reuse_time : 동일한 password를 적용한 기간동안 사용금지
password_reuse_max : 입력된 value값만큼만 사용가능한 횟수를 제한 ex: 3이라고 입력하면 3번만 사용가능
password_life_time : password 생명주기 ex : 30 -> 30일마다 변경해야함
password_life_time : password 생명주기 ex : 30 -> 30일마다 변경해야함
password_grace_time : password 변경 만료 알림을 value일 전부터 알림
failed_login_attempts :password 입력실패시 재시도 가능횟수 최종 실패시 계정 lock걸림
password_lock_time : lock걸렸을때 value값만큼 잠겨있음 1일단위임 1/24는 1시간 1/1440은 1분
password complexity verification(패스워드 복잡성)password설정시 제약조건
'6. 먹고살기 > 6.1 Oracle' 카테고리의 다른 글
COMMIT_POINT_STRENGTH (0) | 2012.01.19 |
---|---|
11g compress table (0) | 2011.09.14 |
oracle user expired & lock (0) | 2011.09.09 |
Sqlplus, glogin.sql (0) | 2011.09.06 |