Background Image
제품 여행
2019.06.25 14:35

CUBRID GRANT ALL TABLES

조회 수 1816 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

CUBRID GRANT....

큐브리드에서는 GRANT ... ON ALL TABLES 구문을 아쉽게도 제공 하지 않습니다.

현재는 수동으로 GRANT 구문을 작성하여, 사용하여야 합니다. 

"이러한 불편함을 자동으로 작성해주면 어떨까" 라는 생각으로 스크립트를 작성하였습니다.

 

HOW to do GRANT ... ON ALL TABLES .....?

$ sh cub_grant.sh

--------------------------------------------------------------------------------------------------------

CUBRID DBMS, auto-generator for grant all tables
usage : 
                sh cub_grant.sh <dbname> <grantee user> <grantor user> <grantor user password> <option>

        <option>
                -view : grantee user all grant view
                -dml : default SELECT, DELETE, UPDATE, INSERT
                -ddl : default ALTER, INDEX, EXECUTE
                -all : ALL PRIVILEGES(dml+ddl)

        <file creation info>
                default path : .
                -dml : ./GRANT_DML.sql
                -ddl : ./GRANT_DDL.sql
                -all : ./GRANT_ALL.sql

--------------------------------------------------------------------------------------------------------

 

1. Linux 환경에서만 사용 가능합니다.
2. bash 스크립트로 작성 되었습니다.

3. CUBRID 엔진 소유 계정으로 위치에 상관 없이 (rwx 권한 필요) 수행이 가능 합니다.


사용 방법 : sh cub_grant.sh

             - <dbname> : 사용하고자 하는 데이터 베이스 명

             - <grantee user> : 권한을 부여할 유저명

             - <grantor user> : 부여할 권한의 오너 유저명

             - <grantor user password> : 부여할 권한의 오너 유저의 암호
 

     <option>

             -view : grantee user의 권한 정보 확인

             -dml : grantor user의 모든 테이블의 DML GRANT 생성

             -ddl : grantor user의 모든 테이블의 DDL GRANT 생성

             -all : grantor user의 모든 테이블의 ALL PRIVILEGES (DML+DDL) GRANT 생성

 

       생성 되는 파일 : 생성 위치는 스크립트 수행 디렉토리

             -dml : GRANT_DML.sql

             -ddl : GRANT_DDL.sql

             -all : GRANT_ALL.sql

 

 

$ cat cub_grant.sh |more

--------------------------------------------------------------------------------------------------------

  1 #!/bin/bash
  2 ## encoding : utf-8
  3 ## Create by, CUBRID INC
  4 
  5 ## User Configuration Parameters
  6 FILE_PATH="."
  7 GRANT_DML="SELECT, DELETE, UPDATE, INSERT"
  8 GRANT_DDL="ALTER, INDEX, EXECUTE"
  9 GRANT_ALL="ALL PRIVILEGES"
 10 ##
 11 
 12 
 13 ## Tool Configuration Parameters
 14 DB_NM=$1
 15 GRANTEE_USER=$2
 16 GRANTOR_USER=$3
 17 GRANTOR_USER_PSW=$4
 18 GRANT_OPTION=$5
 19 ##

--------------------------------------------------------------------------------------------------------

 

1. 스크립트 상단의 User Configuration Parameters를 수정하여, 원하는데로 수정이 가능 합니다.

             - FILE_PATH : GRANT 파일이 생성 되는 기본 경로를 변경할 수 있스빈다.

             - GRANT_DML : DML 중 일부만 필요하다면, "SELECT, INSERT" 와 같이 수정이 가능 합니다.

             - GRANT_DDL : DDL 중 일부만 필요하다면, "ALTER,INDEX" 와 같이 수정이 가능 합니다.

             - GRANT_ALL : 변경할 필요 없음

 

 

$ ls -rlth

--------------------------------------------------------------------------------------------------------
합계 20K
-rw-rw-r-- 1 cubrid cubrid  341  6월 25 13:45 GRANT_ALL.sql
-rw-rw-r-- 1 cubrid cubrid  469  6월 25 13:45 GRANT_DML.sql
-rw-rw-r-- 1 cubrid cubrid  397  6월 25 13:45 GRANT_DDL.sql
-rw-rw-r-- 1 cubrid cubrid 7.5K  6월 25 13:48 cub_grant.sh

-------------------------------------------------------------------------------------------------------

< 옵션에 따라 위와 같이 파일이 생성 됩니다. >

1. GRANT_DML.sql

                 GRANT SELECT, DELETE, UPDATE, INSERT ON  tbl1   TO  DBA ;

                 GRANT SELECT, DELETE, UPDATE, INSERT ON  tbl2   TO  DBA ;

                 GRANT SELECT, DELETE, UPDATE, INSERT ON  [data]  TO  DBA ;
                 GRANT SELECT, DELETE, UPDATE, INSERT ON  [add]  TO  DBA ;
                 GRANT SELECT, DELETE, UPDATE, INSERT ON  [primary]  TO  DBA ;
 

2. GRANT_DDL.sql
                 GRANT ALTER, INDEX, EXECUTE ON  tbl1   TO  DBA ;
                 GRANT ALTER, INDEX, EXECUTE ON  tbl2   TO  DBA ;
                 GRANT ALTER, INDEX, EXECUTE ON  [data]  TO  DBA ;
                 GRANT ALTER, INDEX, EXECUTE ON  [add]  TO  DBA ;
                 GRANT ALTER, INDEX, EXECUTE ON  [primary]  TO  DBA ;
 

3. GRANT_ALL.sql
                 GRANT ALL PRIVILEGES ON  tbl1   TO  DBA ;
                 GRANT ALL PRIVILEGES ON  tbl2   TO  DBA ;
                 GRANT ALL PRIVILEGES ON  [data]  TO  DBA ;
                 GRANT ALL PRIVILEGES ON  [add]  TO  DBA ;
                 GRANT ALL PRIVILEGES ON  [primary]  TO  DBA ;

< 347개의 예약어를 테이블 명으로 사용하는 경우 아래와 같이 테이블 명 앞뒤로 대괄호가 추가 되어 작성 됩니다. >


1. 예약어가 아닌 경우
                 GRANT SELECT, DELETE, UPDATE, INSERT ON test_tbl TO  dev_user ;
 

2. 예약어인 경우

                 GRANT SELECT, DELETE, UPDATE, INSERT ON  [primary]  TO  dev_user ;​



첨부 파일에 스크립트가 첨부 되어 있습니다. cub_grant.sh

 

향후 버전에 GRANT .... ON ALL TABLES 기능이 추가 되겠죠...?


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
134 알려요~ 이노베이션 아카데미와 CUBRID의 산학협력 file 민준 2022.02.22 291 0
133 제품 여행 Scouter를 통한 CUBRID 모니터링 file hwanyseo 2022.01.10 1774 0
132 제품 여행 [CUBRID] QUERY CACHE에 대해 file 김민종 2021.10.29 1593 1
131 제품 여행 [CUBRID inside] HASH SCAN Method file 박세훈 2021.10.25 547 2
130 제품 여행 CUBRID TDE(Transparent Data Encryption) 김지원 2021.05.20 1431 1
129 오픈소스 이야기 CUBRID의 개발 문화: CUBRID DBMS는 어떻게 개발되고 있을까? 1 file 유형규 2021.04.29 1479 1
128 제품 여행 CUBRID를 이용한 스니핑 방지 - 패킷암호화 file 황영진 2021.04.28 2435 1
127 오픈소스 이야기 ANTLR, StringTemplate를 사용해서 PL/SQL을 CUBRID Java SP로 변환하기 file 주영진 2020.12.31 2868 2
126 제품 여행 [CUBRID inside] Query Process란? file 박세훈 2020.12.24 1148 1
125 제품 여행 파일이 정상인가 ? file 윤준수 2020.08.29 2415 1
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 16 Next
/ 16

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales