Q : 상황
sudoers에서 wheel 그룹의 계정에게 root권한을 주도록 옵션 설정 후 wheel 그룹 계정을 생성
톰캣 실행 스크립트의 기본 소유권은 root root 이기에 sudo 명령어를 이용하여 startup.sh 를 실행
Using CATALINA_BASE: /usr/java/apache-tomcat-7.0.42
Using CATALINA_HOME: /usr/java/apache-tomcat-7.0.42
Using CATALINA_TMPDIR: /usr/java/apache-tomcat-7.0.42/temp
Using JRE_HOME: /usr/
Using CLASSPATH: /usr/java/apache-tomcat-7.0.42/bin/bootstrap.jar:/usr/java/apache-tomcat-7.0.42/bin/tomcat-juli.jar
환경변수로 JAVA_HOME을 잡아 주었음에도 JRE_HOME이 제대로 설정되지 않음.
A : 해법
sudo 사용시 HOME, LOGNAME, PATH, SHELL, TERM, USER 를 제외한 모든 환경변수가 리셋 된다는 사실을 파악.
해당 부분은 sudoers 옵션중 Defaults env_reset 으로 인해 발생 하는 부분
해당 부분을 주석처리 하는 방법도 있으나, 기본설정은 그대로 두변서 특정 변수를 예외적으로 리셋하지 않도록 Defaults env_keep 옵션을 사용할 수 있다.
sudoers 를 다음과 같이 편집 하였다.
기존에 설정되어있는 Defaults env_keep 문구들 맨 아래에 다음과 같이 추가.
Defaults env_keep += "JAVA_HOME CATALINA_HOME"
계정을 변경하여 sudo startup.sh 를 하였을 때 JRE_HOME이 정상적으로 들어가는 것을 확인.
'TroubleShooting' 카테고리의 다른 글
[Linux] Ubuntu 업데이트 서버 연결 에러 (apt-get update 에러) (2) | 2013.04.15 |
---|---|
[jQuery] 키 값으로 하위 엘레먼트의 value값을 사용하는 엘레먼트 선택하기 (0) | 2012.11.28 |