Background Image
조회 수 15465 추천 수 67 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
http://www.callor.com/zbxe/90

보안에 강한 Cubrid 부팅 시나리오 재 작성
여기 올린 글을 Q&A에 올렸던 부트 스크립트를 사용해본후 문제점이 있어 보완 작성한 글입니다. 배포는 자유이나 배포하실때는 출처를 밝혀주시기 바랍니다.
원문은 www.callor.com에 있습니다

부팅할때 DB를 같이 올릴 수 있는 최적의 방법이 없을까
매뉴얼을 들여다 보아도 어찌 된 일인지 그에 대한 설명을 찾을 수 없었다.
그래서 여러가지로 고민하고 반복하여 만들어 본 결과 만족할 만한 결과를 얻었다.

1     첫번재 방법으로 /etc/init.d/ 에 시작 데몬을 작성하여 chkconfig를 이용하여 자동 실행 되도록 하는 것이다.

가)    이 방법을 사용하면 Gnome의 서비스 관리자에서도 시작과 종료를 마음대로 할 수 있다.
나)    스크립트는 Q & A 에도 있습니다.

2     그러나 이 방법은 다음과 같은 문제들이 있음을 발견했다.

가)    Cubrid 대몬들이 모두 root 권한으로 실행는 관계로 보안에 매우 취약 할 수 있다.
나)    자동으로 시작되도록 설정한 Database들이 자동으로 시작되지 않는다.
아마 데몬이 시작되는 시기가 디스크 마운트등의 순위와 맞지 않아 그런 것으로 생각된다.
때문에 데몬등 엔진은 잘 구동이 되지만, 부팅 후 다시 데몬을 stop 하고 다시 start 해주어야 비로소 자동 시작 Database가 구동이 된다.

3     일단 root가 아닌 별도의 사용자 권한으로 구동해 줄 필요가 있었다.

가)    그래서 일단 cubrid 를 생성한다.
        /usr/sbin/adduser cubrid
나)    그리고 CUBRID 이하 폴더의 소유자 권한을 cubrid로 지정한다.
       chown cubrid.cubrid –R CUBRID
다)    Cubrid HOME_DIR에 /root/.cubris.sh 복사해 오고 소유자 권한을 cubrid로 지정한다.
        chown cubrid.cubrid .cubrid.sh

라)    로그인 쉘 스크립트에서 .cubris.sh를 실행해 주자 .bashrc 파일을 열고 다음을 추가한다.
  # -- Cubrid 환경설정 -----------
if [ -f .cubrid.sh ]; then
        . .cubrid.sh
fi

4     생성된 cubrid 유저 권한으로 /etc/init.d/cubrid_service 스크립트를 실행하자.
가)     /etc/init.d/cubrid_service 데몬 스크립트 중 일부를 다음과 같이 바꾼다.

start() {
     #$CUBRID_MANAGER/bin/cmauto start
     #sleep 1
     #$CUBRID_MANAGER/bin/cmjs start

     su cubrid - cubrid_service start
     RETVAL=$?
     return $RETVAL
}
stop() {
    #$CUBRID_MANAGER/bin/cmjs stop
    #sleep 1
    #$CUBRID_MANAGER/bin/cmauto stop
    #sleep 1
    #$CUBRID_BROKER/bin/cubrid_broker stop
    #$CUBRID_UTIL/commdb -A

    su cubrid - cubrid_service stop
    RETVAL=$?
    return $RETVAL
}

5     시스템을 재 부팅

가)    프로세스를 검사해 보니 이제 cubrid 데몬들이 cubrid 유저 권한으로 실행 된 것을 볼 수 있다.
나)    하지만, 이 방법으로도 역시 Database를 자동으로 실행하지는 못한다. 스크립트가 작동되는 시간적 이유가 아닌가 생각된다.

6     자 이제 그럼 /etc/rc.local 스크립트에 등록하여 자동으로 실행 하자.
가)    /etc/rc.local 스크립트를 에디터로 열어 다음 문장을 추가해 준다.
          # Cubrid Database
          # cubrid_service 서비스 스크립트를 cubrid 사용자 권한으로 실행하여 데몬을 구동한다.
          su - cubrid cubrid_service start

7     이제 시스템을 재부팅한다.

가)    권한의 문제, Database 자동 실행등의 문제는 해결된 것으로 보인다.
나)    매뉴얼에 나와 있는 몇몇 설명들이 실제와 달라 많이 혼동되었다.
다)    매뉴얼에는 다음과 같은 설명들이 실제 상황에서는 사용하지 않아도 되는 것들이었다.
         ①     master : 마스터 데몬의 시작
         ②     server : 원격 클라이언트의 요청에 응답하기 위한 서버 유틸리티
         ③     start_server database : master 실행 여부를 검사하고 중단되었으면 실행한 후 server를 실행한다.
        ④     Stop_server : start_server와 반대 되는 기능
        ⑤     Cubrid_broker start : 브로커 유틸리티를 시작한다.
라)    순서대로 실행해야 하는 부팅명령들이 cubris_service start하면 순서대로 실행된다.
마)    또한 자동실행으로 설정된 database 이름이 $CUBRID/admin/databases.txt파일에 있다고 하였으나 그렇지 않다.
       ①     $CUBRID/Manager/cmserver/conf/autostartdb.conf 파일에 자동 시작 database 이름이 등록되어 있다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
62 공개SW 가이드/보고서 정병주 2020.06.09 514
61 오픈소스 라이선스 해설 자료(Version 1.0.0) 정병주 2017.09.18 580
60 오픈소스 소프트웨어 라이선스 가이드 1.0 - 초급편 정병주 2017.09.18 662
59 오픈소스 소프트웨어 라이선스 가이드 2.0 - 중급편 정병주 2017.09.18 677
58 공개SW 연구개발 수행 가이드라인 file 정병주 2018.04.27 712
57 공개SW 라이선스 가이드 정병주 2017.12.20 795
56 Pro Git (Second Edition) 한글 번역본 다운로드 file 정병주 2017.09.18 1129
55 네이버가 만든 오픈소스 가이드 정병주 2017.09.18 1523
54 국가정보자원관리원 G-클라우드 소개자료 정병주 2017.12.26 2657
53 ITrack 모범 사용(best practice) 문서 1 file 관리자 2006.09.07 13513
52 ITrack 설명서 file 관리자 2006.09.07 14507
51 [util] procedure 등록 유틸리티 1 file 이지현 2007.10.19 15412
» Linux에서 Cubrid 자동 부팅하기 장현정 2007.10.25 15465
49 큐브리드 7.0 : cci c 파일 델파이 포팅자료 - 베타1 2 file 나비스 2007.05.31 16390
48 ITrack KLDP에 공개SW 프로젝트로 등록 2 김평철 2006.09.12 16415
47 phpCubAdmin for 2008버전 CUBRID_DEV 2009.07.15 16577
46 APC_Install-tools 1.4 2 Prototype 2009.03.13 16860
45 ITrack SW 다운로드 1 file 관리자 2006.09.07 17044
44 JCO 8차 컨퍼런스 발표 자료 (개발프로세스) file 김평철 2007.02.12 17384
43 Microsoft VisualC++ 2008 재배포 팩 (SP1) 32bit file 남재우 2010.01.27 17692
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

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