DBMS/CUBRID

CUBRID_TMP 환경변수를 설정했음에도 최상위 루트 /tmp 디렉토리의 접근권한이 없을 시 서버 구동이 실패하는 경우 해결 방법

Temporary backups 2021. 3. 24. 00:46
반응형

master 프로세스 소켓 파일을 생성하는 위치를 큐브리드를 설치한 OS 계정의 profile 파일에서

 

CUBRID_TMP 환경변수를 정의함으로써 변경할 수 있지만

 

CUBRID_TMP 파라미터로 경로를 별도 지정해도 서버 구동 시 /tmp 폴더에 최초 파일을 write 하도록 되어있어

 

큐브리드가 설치된 계정이 /tmp 디렉토리에 대한 읽기,쓰기 권한을 갖고 있지 않으면 구동에 실패하는 문제가 있습니다.

 

 

위 문제로

 

특정 사이트의 관리 정책 상 other 그룹에 대해 모든 권한을 해지해야 함에도 불가피하게 /tmp 디렉토리만 권한을 부여한 경우가 있었는데

 

 

이러한 경우에 TMPDIR 환경변수를 지정함으로써 최초 파일 쓰기 시도하는 디렉토리를 변경하여 해결할 수 있습니다.

 

 

 

● CentOS , RHEL 에서 계정 프로필 변경 예시 (붉은 글씨 부분 참고)

 

$> vi .bash_profile

 

 # .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/.local/bin:$HOME/bin

 

export PATH

 

 

#CUSTOMISING

JAVA_HOME=/home/cubrid/jdk1.8.0_66

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=$JAVA_HOME/jre/lib/ext

LD_LIBRARY_PATH=/home/cubrid/jdk1.8.0_66/jre/lib/amd64/server

export JAVA_HOME

export PATH

export CLASSPATH

export LD_LIBRARY_PATH

export TMPDIR=/home/cubrid/CUBRID/woojin

export CUBRID_TMP=/home/cubrid/CUBRID/woojin

 

 

#-------------------------------------------------------------------------------

# set CUBRID environment variables

#-------------------------------------------------------------------------------

. /home/cubrid/.cubrid.sh

 

ulimit -c unlimited

 

 

 

위처럼 변경하면 /tmp 디렉토리에 other 에 대한 퍼미션이 모두 해지되어도 정상적으로 서버 구동 가능합니다.

반응형