1 분 소요

오류 내용

톰캣 8 → 9로 변경 하면서 설정을 그대로 하고 애플리케이션을 돌렸는데

애플리케이션에서 파일 생성하는 부분에서 생성은 잘 되는데 읽기가 안됨.

파일 리스트를 ls로 보니깐

1
2
-rw-r--r-- 1 test test 10000 7월 15 15:30 test.txt // 톰캣 8
-rw-r----- 1 test test 10000 7월 15 15:40 test2.txt // 톰캣 9

이런 식으로 파일이 생성되어 있음.

리눅스 권한

리눅스 파일(폴더) 권한은 앞에서부터 다음과 같음

r: 읽기 (4) , w:쓰기 (2), x:실행 (1)

rwx / rwx / rwx -> 소유자/그룹/그 외

그래서

1
chmod 755 test.txt

이렇게 쓰면 권한을 소유자/그룹/그 외 순으로 rwx/rx/rx 라고 주겠다는 의미다.

그럼 오류 내용에서

-rw-r–r– 이건 6/4/4 이고

-rw-r—– 이건 6/4/0 이다.

해결 방법

이제 톰캣이 파일을 생성, 이동 할 때 뭔가 권한이 안 맞다는 걸 알았으니 이걸 설정해 주면 될 듯 하다.

이 수정 방법은

bin/catalina.shUMASK를 수정해 주는 것이다.

1
2
3
4
5
6
7
8
9
10
11
..
# 대략 290line
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
    UMASK="0027"
fi
umask $UMASK
...



기본이 0027로 되어있다.

이 의미는 파일을 만들 때 666-027 = 750으로 만들겠다는 것이다. (파일 : 666 / 폴더 : 777)

그래서 파일이 그 외 사용자에서 읽기 권한이 없어서 로드가 안됐다.

그럼 이제 이 UMASK="0027"0022로 변경하면

666-022 = 644 이기 때문에 그 외 사용자에 읽기 및 실행 권한이 부여 된다.

1
2
3
4
5
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
    UMASK="0022"
fi
umask $UMASK

이렇게 하고 파일을 다시 생성해 보면 이제 권한이

-rw-r---r--644로 생성 된다

태그:

카테고리:

업데이트:

댓글남기기