Background Image
조회 수 15470 추천 수 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 이름이 등록되어 있다.

  1. ITrack SW 다운로드

    Date2006.09.07 By관리자 Views17052
    Read More
  2. Linux에서 Cubrid 자동 부팅하기

    Date2007.10.25 By장현정 Views15470
    Read More
  3. ITrack 설명서

    Date2006.09.07 By관리자 Views14511
    Read More
  4. ITrack 모범 사용(best practice) 문서

    Date2006.09.07 By관리자 Views13517
    Read More
  5. 큐브리드용 그누보드(GNUBOARD)4 공개

    Date2007.02.26 By한마루 Views1560623
    Read More
  6. ITrack (Issue Tracking System) 이란?

    Date2006.09.06 By관리자 Views17886
    Read More
  7. ITrack KLDP에 공개SW 프로젝트로 등록

    Date2006.09.12 By김평철 Views16419
    Read More
  8. 큐브리드용 제로보드 및 데이터 마이그레이션 툴

    Date2006.10.12 ByInoS Views21985
    Read More
  9. 소프트웨어 개발 프로세스 자료들...

    Date2007.01.17 By관리자 Views26812
    Read More
  10. JCO 8차 컨퍼런스 발표 자료 (개발프로세스)

    Date2007.02.12 By김평철 Views17389
    Read More
  11. 사이냅소프트(Synapsoft) 개발체계

    Date2007.04.13 By정병주 Views18546
    Read More
  12. 큐브리드 7.0 : cci c 파일 델파이 포팅자료 - 베타1

    Date2007.05.31 By나비스 Views16395
    Read More
  13. PHP로 DB작업 디버깅하기(오류시 담당자에 디버깅 정보 보내기)

    Date2007.06.19 By서상욱 Views20123
    Read More
  14. 큐브리드용 그누보드 4.21.0

    Date2007.06.22 By한마루 Views38480
    Read More
  15. 게임개발자들을 위한 CUBRID C-API 관련 자료 및 sample code

    Date2007.06.28 By남재우 Views20159
    Read More
  16. 교육 예제입니다.

    Date2007.07.25 By강사 Views18109
    Read More
  17. php로 큐브리드 프로시저 사용하기

    Date2007.10.05 By박진호 Views22497
    Read More
  18. loadjava GUI Tool 공유

    Date2007.10.13 By궁금이 Views19236
    Read More
  19. phpCubAdmin 1.0.1 입니다.

    Date2007.10.18 By야라바 Views18976
    Read More
  20. [util] procedure 등록 유틸리티

    Date2007.10.19 By이지현 Views15417
    Read More
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