[Tomcat] (수정) Java File IO Permission Problem / 톰캣 자바 파일 입출력 권한 문제

JSP 혹은 서블릿을 이용해 웹 서버를 개발할 때 파일 입출력 관련 프로그래밍을 해야하는 경우가 있다. 이 때, 출력 파일의 권한을 수정할 때, 수정되지 않는 경우가 있다. 이번 게시글에 작성할

dev-whoan.xyz

위 링크를 통해 확인 부탁드립니다.


톰캣 8.5 버전 이상부터 톰캣 컨텍스트 애플리케이션에서 파일 쓰기 작업을 할 때 정상적으로 안되는 경우가 있다.

톰캣 버전이 올라가면서 시스템 보안을 위한 정책이 추가된건데,  기본적으로 톰캣이 포함된 webapps와 logs 파일에 읽고 쓰기를 지원하고, 다른 경로는 설정을 통해 읽고 쓰기가 가능하게끔 해야한다.

이러한 방법에는 다음과 같은 두 가지 방법을 생각할 수 있다.

1. 톰캣유저 자체의 권한 상승

2. 톰캣 서비스 수정을 통한 IO 경로 추가

1번의 경우 보안상 이유로 패치된것 이기 때문에 추천하지 않고, 따라서 2번을 추천하다.


$ cd /etc/systemd/system/multi-user.target.wants
$ vi /tomcat9.service
     # 여기부터 tomcat9.service File

...

#Security
#제일 하단에 다음과 같이 추가
ReadWritePaths=IO작업을 수행할 경로

ReadWritePaths 옵션을 보면 알겠지만, 톰캣이 파일 IO작업을 할 수 있도록 허용하는 경로를 추가하는 것이다.

+ Recent posts