⚠️ Problem
- 서버 구조 개선 작업을 하면서 기존에 root로 동작되던 프로세스들을 서비스 역할별에 따라 계정을 분리 시킴
- 두개의 서비스가 하나의 디렉토리를 참조하여 작업을 처리하는 로직에서 “Permission Denied” 발생
- 서비스의 관계에 따라 계정에 umask를 적절하게 배분하였던 상태
- service 1 : tomcat:app (umask 0007)
- service 2 : agent:app (umask 0007)
💡 Solution
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0027"
fi
umask $UMASK
- 위 구문에 의하여 사용자 profile에
$UMASK
가 선언되어 있지 않을 경우 umask가 0027로 변경된 후 톰캣이 기동되도록 되어 있음 (umask에 의하여 그룹사용자는 파일에 내용을 쓸수 없음)
- 사용자 profile에
$UMASK
선언 후 정상동작 확인
📕 Reference
Apache Tomcat 8