본문 바로가기
[ORACLE]/Security

Oracle 특정 SQL 사용하지 못하게 막기

by oracle_YH 2012. 1. 12.

문제 발생 : system을 제외한 다른 유저의 특정 sql문을 사용하지 못하게 하고 싶을 때

 

해결 : PRODUCT_USER_PROFILE  이용

system 계정으로 ?/sqlplus/pupbld.sql

sql> insert into PRODUCT_USER_PROFILE(product,userid,attribute,char_value)
values('SQL*Plus','%','HOST','DISABLED');

 

=> 모든 유저의 host 사용을 막아버림

 

'%'란에 username 을주면 특정 USER 또한 막을 수 있습니다.

 

결과 : SQL> conn rtis/rtis
Connected.
SQL> !ls
SP2-0544: Command "! (HOST)" disabled in Product User Profile
SQL> host ls
SP2-0544: Command "host" disabled in Product User Profile

 

 

보통 권한을 다 뺏어도 drop table은 되는데...

이것을 막을 때 유용하게 쓰일꺼 같음

예를 들어 select만 되게 하고 싶은 유저를 생성하고 싶을 때

 

참고 OTN https://forums.oracle.com/forums/thread.jspa?threadID=470229


'[ORACLE] > Security' 카테고리의 다른 글

Oracle 특정 IP만 접속을 허용하고 싶을 때  (0) 2012.01.12