본문 바로가기

프로그래밍/Oracle

오라클 사용자 생성/비번관리


오라클 사용자 생성 ======================================================================

*사용자 생성

create user [사용자ID] identified by [비밀번호]
default tablespace [테이블스페이스]
temporary tablespace [temporary지정]
quota [15M] on users
quota [10M] on system;

 

*사용자 비번수정

alter user [oratest] identified by [oratest2];

 

*사용자 테이블스페이스 수정

alter user [oratest] default tablespace [users];

 

*사용자 비번/테이블스페이스/쿼타 수정

alter user [oratest] identified by [oratest]
default tablespace [users]
quota [20M] on users;

 

*권한 부여

grant connect,resource to [oratest];

 

*권한 수정
alter user [oratest] default role connect;

 

*사용자제거

drop user [oratest];


drop user [oratest] [cascade]; //<- 디렉토리까지 지워짐

 

*사용자 검색
select * from user_users;


select * from dba_users;

 

*사용자 쿼타검색

select * from user_ts_quotas;


select * from dba_ts_quotas;

 

*현재 접속자 검색/세션제거
select sid,serial#,username,program from v$session;    // <- 접속자 검색
alter system kill session '[sid],[serial#]';                    // <- 세션죽이기

 

오라클 사용자 비번 관리 =================================================================

*프로파일을 생성해 사용자 비번을 관리하면 좋다

create profile [my_profile] limit
failed_login_attempts 4     // <- 로그인시 실패회수
password_lock_time 30    // <- 실패회수만큼 실패하면 날수동안 잠금
password_life_time 60      // <- 기존비밀번호를 사용가능한 최대날짜 [만료]
password_grace_time 15  // <- life_time이 지나고 암호 소멸전 유효기간을 줌

create profile [my_profile2] limit
password_reuse_time 60  // <- 비밀번호를 다시 사용할수 없는 기간
password_reuse_max unlimited  

// 위 아래 있는 내용은 같이 사용할 수 없다.

create profile [my_profile3] limit
password_reuse_max 3    // <- 현재 암호를 다시 사용하기전 암호를 3회 까지 변경해야한다.
password_reuse_time unlimited

 

*사용자에게 프로파일 적용
alter user [scott] profile my_profile;

 

*사용자 접속 허가

alter user [scott] account unlock;

 

*사용자 접속 거부

alter user [scott] account lock;

 

*사용자 계정 비번 관리내용 검색

select username,account_status, to_char(lock_date,'yy/mm/dd hh24:mi') lock_date, profile from dba_users;

 

*프로파일 삭제

drop profile [my_profile] [cascade];    //<- cascade 옵션으로 이미 사용중이여도 삭제


*복잡성 검증 함수 기본 스크립트 제공(비밀번호를 생성할때 단조로운 내용인지 검사)
utlpwdmg.sql


스크립트에 보면 함수 verify_function를 적용하고
하단에 프로파일 생성자가 default롤 되어있기때문에 변경하여 사용하면된다.
sys계정으로 돌려야한다.
함수만 카피해서 사용하도 좋다.(함수를 먼저 만들고 프로파일에 적용)

 

alter profile [my_profile] limit
password_verify_function [verify_function];    // <- 위 함수 적용

 

*표준사용내용

* password_verify_function 을 사용한 프로파일 생성

create profile [my_profile4] limit
failed_login_attempts 5
password_life_time 60
password_reuse_time 60
password_reuse_max unlimited
password_verify_function verify_function
password_lock_time 1/24  // <- 1시간
password_grace_time 15;

 

*프로파일 내용 수정

alter profile [my_profile4] limit
failed_login_attempts unlimited
password_life_time unlimited
password_reuse_time unlimited
password_reuse_max unlimited
password_verify_function null
password_lock_time unlimited
password_grace_time unlimited;

 

*프로파일 확인

select * from dba_profiles;


select resource_name , limit from dba_profiles where profile='[MY_PROFILE]' and resource_type='PASSWORD';  //<-상세보기