11g 부터 user가 기본으로 180일 제한이 걸려있다..
오라클형들은 자꾸 기본 보안을 높이넹 ~_~
일단 dba_profiles 테이블을 보자면 다음과 같이 되어있음을 확인할수 있다.
다음과 같은 명령으로 lock혹은 expired 되어있는 user와 profile을 확인한다
Lock 상태는 사라지고 Expired 상태로 된 것을 확인
|
1
2
3
4
5
6
7 |
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)
|
|
1
2
3
4
5
6
7
8
9
10 |
15:04:19 SYS@RAC1> select USERNAME, ACCOUNT_STATUS,PROFILE15:06:44 2 from dba_users;USERNAME ACCOUNT_STATUS PROFILE------------------------------ -------------------------------- ------------------------------BI OPEN DEFAULTSCOTT OPEN DEFAULTOGGT OPEN DEFAULT |
Lock 되어있는 유저는 다음과 같은 명령으로 해당 사용자를 unlock 할수 있다.
|
1
2
3
4
5
6
7
8 |
10:49:40 SYS@RAC1> alter user bi account unlock;User altered.Elapsed: 00:00:00.2811:17:00 SYS@RAC1> select USERNAME, ACCOUNT_STATUS,PROFILE from dba_users where USERNAME='BI';USERNAME ACCOUNT_STATUS PROFILE------------------------- -------------------------------- ------------------------------BI EXPIRED DEFAULT1 row selected. |
|
1
2
3
4
5
6
7
8
9
10
11
12 |
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 DEFAULT1 row selected. |
계정이 Open 상태로 된 것을 확인한다.
이렇게만 하면 일시적으로 expired 되거나 unlock된 계정을 풀수는 있지만...
장기간 운영해하는 입장에서는 여간 귀찮은게 아니다...
default profile을 다음과 같이 수정해서 귀차니즘에서 탈피~!
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
10:14:12 SYS@RAC1> col limit for a20select * from dba_profiles where resource_type='PASSWORD';PROFILE RESOURCE_NAME RESOURCE LIMIT------------------------------ -------------------------------- -------- --------------------MONITORING_PROFILE FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITEDDEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10MONITORING_PROFILE PASSWORD_LIFE_TIME PASSWORD DEFAULTDEFAULT PASSWORD_LIFE_TIME PASSWORD 180MONITORING_PROFILE PASSWORD_REUSE_TIME PASSWORD DEFAULTDEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITEDMONITORING_PROFILE PASSWORD_REUSE_MAX PASSWORD DEFAULTDEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITEDMONITORING_PROFILE PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULTDEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULLMONITORING_PROFILE PASSWORD_LOCK_TIME PASSWORD DEFAULTDEFAULT PASSWORD_LOCK_TIME PASSWORD 1MONITORING_PROFILE PASSWORD_GRACE_TIME PASSWORD DEFAULTDEFAULT PASSWORD_GRACE_TIME PASSWORD 7SQL>alter profile default limit FAILED_LOGIN_ATTEMPTS unlimitedPASSWORD_LOCK_TIME unlimitedPASSWORD_GRACE_TIME unlimitedPASSWORD_LIFE_TIME unlimited; |
패스워드 제한설정
PASSWORD history : 이전 암호를 기억해 놓았다가 다음에 변경시 동일한 암호사용을 금지함 password_reuse_time : 동일한 password를 적용한 기간동안 사용금지
password_reuse_max : 입력된 value값만큼만 사용가능한 횟수를 제한 ex: 3이라고 입력하면 3번만 사용가능 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설정시 제약조건
원본 링크

Rss Feed