Data Base/Linux

231222 Linux_password file 생성, SYSDBA ROLE 인증체크

잇꼬 2023. 12. 22. 20:10
728x90
반응형
SMALL

■ password file 생성  
sysdba role의 사용자에 대한 인증 체크(즉, sysdba 를 위한 것)
(= sysdba role를 받은 사용자에 대한 인증 체크)
SQL> show parameter instance_name 


# orapw<SID>
- 지웠을 경우, 생성 방법
orapwd file=$ORACLE_HOME/dbs/orapwora11g password=admin : 패스워드파일 생성 및 패스워드 지정
                                                      유저 계정(sysdba뿐 insa_sysdba 등 삭제)
[oracle1@oracle dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwora11g password=admin
[oracle1@oracle dbs]$ ls


# insa 계정 권한 부여

GRANT SYSDBA TO insa;

orapwd file=$ORACLE_HOME/dbs/orapwora11g : insa 계정에 sysdba 권한 부여
password=admin : 패스워드 설정(SYSDBA용)
# 11g 부터 패스워드 대소문자 구분!

insa_sysdba 계정으로 접속하게 되면 pwd 를 insa 계정으로 로그인 할 것!
insa_sysdba 계정으로 admin 으로 pwd 을 작성하면 접속 불가이다. 왜냐면 sysdba의 pwd 이기 때문이다
SQL> conn insa/oracle as sysdba : SYSDBA 권한의 ROLE 적용
Connected.

# ignorecase=y/n : 패스워드 대소문자 구분여부 체크
orapwd file=$ORACLE_HOME/dbs/orapwora11g password=admin ignorecase=n
- 패스워드 admin 일 경우 ADMIN은 허용하지 않음
orapwd file=$ORACLE_HOME/dbs/orapwora11g password=admin ignorecase=y
- 패스워드 admin 일 경우 ADMIN은 허용함. 보안상 좋지 않음.


■ sysdba role을 이용해서 오라클에 접속할 때 인증체크 
1. OS 인증(LOCAL) 인증 체크 방식 : 터미널창(putty)을 이용
login as: oracle1
oracle1@192.168.56.108's password:
Last login: Fri Dec 22 09:08:21 2023 from 192.168.56.1
[oracle1@oracle ~]$ sqlplus / as sysdba : role접속
-> oracle을 설치+ oracle 입장에서는 super입장이라 인증이 됐다.


2. client(remote) - server 환경에서는 password file를 생성한 인증 체크 방식 : SQL Developer 를 접속
생성방법 : orapwd file=$ORACLE_HOME/dbs/orapwora11g password=지정
- password=지정 : sys 계정의 비밀번호, 다른 계정으로 권한을 부여했을 경우에는 그 계정의 패스워드를 입력.
권한 부여 : GRANT SYSDBA TO 계정명;
권한 부여 후 로그인방법 : conn 계정명/계정명's pwd as sysdba : 계정명/계정명's pwd 는 크게 중요하지 않는다.

#) dba 접속 확인(계정 확인), password file로 인증 체크해서 접속한 유저 정보

- 어떤 계정이 SYSDBA 로 접속했는지 확인 가능.

select * from v$pwfile_users;



SQL> show parameter remote_login_passwordfile(spfile)


#) parameter 확인방법

SELECT * FROM v$parameter WHERE NAME ='remote_login_passwordfile';
ALTER SYSTEM SET remote_login_passwordfile=EXCLUSIVE SCOPE=SPFILE;


# 패스워드 대소문자 구분(11g)
11g 부터 패스워드의 대소문자를 구분한다.
[oracle1@oracle ~]$ sqlplus insa/ORACLE


# SYS SESSION
SQL> show parameter sec

 

SQL> show parameter sec_case_sensitive_logon : 대소문자 구분여부
NAME                               TYPE    VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon  boolean TRUE : 대소문자 구분함



select * from v$parameter where name = 'sec_case_sensitive_logon';
ALTER SYSTEM SET sec_case_sensitive_logon=false; -- 개발 프로젝트일 경우에만 적용할 것, 보안상 좋지 않기 때문에.

SQL> show parameter sec_case_sensitive_logon


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon             boolean     FALSE : 대소문자 구분안함


# 패스워드 파일 에서의 password도 대소문자 구분함.

728x90
반응형
LIST