■ 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도 대소문자 구분함.
'Data Base > Linux' 카테고리의 다른 글
231227 Linux_권한, sys.aud$ 이관작업, SQL문 감사, 객체 감사, 시스템 권한 감사, Find Grained Auditing (1) | 2023.12.27 |
---|---|
231226 Linux_Audit(감사) (0) | 2023.12.26 |
231222 Linux_RESOURCE 관리, PROFILE 관리 (0) | 2023.12.22 |
231222 Linux_ password 관리 (0) | 2023.12.22 |
231221 Linux_profile 관리, passwd 관리 (0) | 2023.12.21 |