유저 관리
- 생성, 삭제
- 권한 관리
- Role 관리
- profile
유저 생성 전에 알아보아야 할 사항들
(isql*plus에서 질의할 것)
유저 생성 예)
권한을 준다.
※ consumer group은 plsql로 한다.
SYS 유저와 SYSTEM 유저
sys(root) : data dictionary, internal table 소유
system(dba) : 추가적인 table 생성, session
※ 운영상 유의점 : SYS유저로는 작업을 하지 않는 것이 좋다.
Autnentication
- 이 유저가 등록되어 있는 유저인가?
- 인증의 종류
- DB 인증
- OS 인증
- 패스워드 파일 인증
sysdba 인증
- DB인증 (인증 안됨)
: shutdown(idle instance) 상태에서 인증이 되어야 하기 때문에
sqlplus oracle/oracle, sqlplus jgh/jgh
-> ORA-01034: ORACLE not available 에러 발생
- OS 인증
: sqlplus / as sysdba로 접속 가능
{유저가 등록되어 있고, 그룹이 oinstall, dba인 유저(OS의 /etc/passwd, /etc/group 참조)}
telnet으로 들어온 유저에 대해서 sysdba의 권한을 주고,
sqlplus 유저/암호@XXXXXX 로 접속하는 유저에게는 sysdba의 권한을 주지 않음
- 패스워드파일 인증
: 원격지에서 접속하는 유저들에게 sysdba의 권한을 주기 위해 만든다.
위치 : ORACLE_HOME/dbs
이름 : orapwsid
패스워드 파일생성
접속
->ORA-01034: ORACLE not available 에러 발생
-> sysdba 유저로 접속 가능
일반 유저의 인증
- db 인증(passwd)
일반 유저의 os 인증(!권장되는 방식이 아님)
os인증(external)
1. oracle이 아닌 일반 OS 유저로 sysdba되기
터미널 1
터미널 2
2. password file 인증
터미널 1
터미널2
window에서 접속
참고 : http://www.adp-gmbh.ch/ora/admin/password_file.html
프로파일이란?
- 자원사용 및 암호관리에 관한 설정
- 여러개의 Profile을 만들 수 있다.
예)
※ verify_function
- 패스워드 생성에 복잡성을 부여하기 위한 pl/sql
- 위치 : $ORACLE_HOME/rdbms/admin/utlpwdmg.sql
권한 관련?
롤(role)이란?
롤 생성 방법
보안을 강화할 목적으로 default role과 암호를 준다.
예)
a role (default) :select 관련 권한
b_role / lion : insert, update, delete, select 관련 권한.
로그인 하면 첫 권한은 a_role이다.(default)
insert나 update, delete 등을 하고 싶을 때 role을 바꾼다.
바꿀때는 패스워드를 입력한다.
기타사항
bility Architecture and Best Practices (HAA)
메뉴얼(10r1, 10gr2) 에서 찾아볼 것. (이렇게 하는 것이 좋다라는 일종의 지침)
- 생성, 삭제
- 권한 관리
- Role 관리
- profile
유저 생성 전에 알아보아야 할 사항들
(isql*plus에서 질의할 것)
SQL> select * from dba_users;
SQL> select * from dba_tablespaces;
SQL> select * from dba_profiles;
SQL> select * from dba_roles;
SQL> select * from dba_sys_privs;
SQL> select distinct privilege from dba_sys_privs order by 1;
SQL> select * from dba_tablespaces;
SQL> select * from dba_profiles;
SQL> select * from dba_roles;
SQL> select * from dba_sys_privs;
SQL> select distinct privilege from dba_sys_privs order by 1;
유저 생성 예)
SQL> create user phil
identified by cat
default tablespace users
temporary tablespace temp_a
quota 10m on users
quota 10m on users5
account lock
profile default
password expire;
identified by cat
default tablespace users
temporary tablespace temp_a
quota 10m on users
quota 10m on users5
account lock
profile default
password expire;
권한을 준다.
SQL> grant create session, create table to phil;
※ consumer group은 plsql로 한다.
SYS 유저와 SYSTEM 유저
sys(root) : data dictionary, internal table 소유
system(dba) : 추가적인 table 생성, session
※ 운영상 유의점 : SYS유저로는 작업을 하지 않는 것이 좋다.
Autnentication
- 이 유저가 등록되어 있는 유저인가?
- 인증의 종류
- DB 인증
- OS 인증
- 패스워드 파일 인증
sysdba 인증
- DB인증 (인증 안됨)
: shutdown(idle instance) 상태에서 인증이 되어야 하기 때문에
sqlplus oracle/oracle, sqlplus jgh/jgh
-> ORA-01034: ORACLE not available 에러 발생
- OS 인증
: sqlplus / as sysdba로 접속 가능
{유저가 등록되어 있고, 그룹이 oinstall, dba인 유저(OS의 /etc/passwd, /etc/group 참조)}
telnet으로 들어온 유저에 대해서 sysdba의 권한을 주고,
sqlplus 유저/암호@XXXXXX 로 접속하는 유저에게는 sysdba의 권한을 주지 않음
- 패스워드파일 인증
: 원격지에서 접속하는 유저들에게 sysdba의 권한을 주기 위해 만든다.
위치 : ORACLE_HOME/dbs
이름 : orapwsid
패스워드 파일생성
OS] orapwd file=$ORACLE_HOME/dbs/orapwjgh_db password=nemam entries=5
파일 이름은 orapw + sid
entries=5 는 5명까지 등록가능하다는 의미.
파일 이름은 orapw + sid
entries=5 는 5명까지 등록가능하다는 의미.
접속
sqlplus sys/nemam@ip:1521/jgh_db
->ORA-01034: ORACLE not available 에러 발생
sqlplus sys/nemam@ip:1521/jgh_db as sysdba
-> sysdba 유저로 접속 가능
일반 유저의 인증
- db 인증(passwd)
SQL> create user john identified by cat;
일반 유저의 os 인증(!권장되는 방식이 아님)
SQL> show parameter os
os인증(external)
1. oracle이 아닌 일반 OS 유저로 sysdba되기
터미널 1
$ su - root
$ useradd -g oinstall -G dba user1
$ passwd user1
$ useradd -g oinstall -G dba user1
$ passwd user1
터미널 2
$ su - user1
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
$ export ORACLE_SID=jgh_db
$ export PATH=$ORACLE_HOME/bin:$PATH; export PATH
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
$ sqlplus / as sysdba
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
$ export ORACLE_SID=jgh_db
$ export PATH=$ORACLE_HOME/bin:$PATH; export PATH
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
$ sqlplus / as sysdba
2. password file 인증
터미널 1
$ su - oracle
$ export ORACLE_SID=jgh_db
$ cd $ORACLE_HOME/dbs
$ rm orapwikdb
$ orapwd file=$ORACLE_HOME/dbs/orapwikdb password=nemam entries=5
$ rm spfileikdb.ora
$ vi initikdb.ora
remote_login_passwordfile = exclusive
$ export ORACLE_SID=jgh_db
$ cd $ORACLE_HOME/dbs
$ rm orapwikdb
$ orapwd file=$ORACLE_HOME/dbs/orapwikdb password=nemam entries=5
$ rm spfileikdb.ora
$ vi initikdb.ora
remote_login_passwordfile = exclusive
터미널2
$ sqlplus / as sysdba
$ shutdown abort
$ shutdown abort
window에서 접속
참고 : http://www.adp-gmbh.ch/ora/admin/password_file.html
프로파일이란?
- 자원사용 및 암호관리에 관한 설정
- 여러개의 Profile을 만들 수 있다.
예)
CREATE PROFILE "DEV_PROF"
CPU_PER_CALL 1000
CONNECT_TIME 60
IDLE_TIME 60
SESSIONS_PER_USER 1000
LIMIT CPU_PER_SESSION 1000
LOGICAL_READS_PER_SESSION 100
LOGICAL_READS_PER_CALL 100
PRIVATE_SGA DEFAULT
COMPOSITE_LIMIT DEFAULT
PASSWORD_LIFE_TIME 30
PASSWORD_GRACE_TIME 5
PASSWORD_REUSE_MAX unlimited
PASSWORD_REUSE_TIME 365
PASSWORD_LOCK_TIME 5/1440
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_VERIFY_FUNCTION verify_function
CPU_PER_CALL 1000
CONNECT_TIME 60
IDLE_TIME 60
SESSIONS_PER_USER 1000
LIMIT CPU_PER_SESSION 1000
LOGICAL_READS_PER_SESSION 100
LOGICAL_READS_PER_CALL 100
PRIVATE_SGA DEFAULT
COMPOSITE_LIMIT DEFAULT
PASSWORD_LIFE_TIME 30
PASSWORD_GRACE_TIME 5
PASSWORD_REUSE_MAX unlimited
PASSWORD_REUSE_TIME 365
PASSWORD_LOCK_TIME 5/1440
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_VERIFY_FUNCTION verify_function
※ verify_function
- 패스워드 생성에 복잡성을 부여하기 위한 pl/sql
- 위치 : $ORACLE_HOME/rdbms/admin/utlpwdmg.sql
권한 관련?
롤(role)이란?
롤 생성 방법
보안을 강화할 목적으로 default role과 암호를 준다.
예)
a role (default) :select 관련 권한
b_role / lion : insert, update, delete, select 관련 권한.
로그인 하면 첫 권한은 a_role이다.(default)
insert나 update, delete 등을 하고 싶을 때 role을 바꾼다.
바꿀때는 패스워드를 입력한다.
SQL> set role b_role identified by lion;
기타사항
bility Architecture and Best Practices (HAA)
메뉴얼(10r1, 10gr2) 에서 찾아볼 것. (이렇게 하는 것이 좋다라는 일종의 지침)
'Oracle > Admin' 카테고리의 다른 글
Managing Data and Concurrency (주요내용 : Lock) (0) | 2009.12.01 |
---|---|
Managing Schema Objects-1 (0) | 2009.11.30 |
2009년 11월 26일 수업내용 (0) | 2009.11.26 |
2009년 11월 25일 수업내용 (0) | 2009.11.25 |
2009년 11월 24일 수업내용 (0) | 2009.11.24 |