Java에서 리눅스 톰캣 파일 업로드 경로 및 접근 권한 변경

리눅스 톰캣

파일 업로드 경로

/usr/local/톰캣폴더/bin

Java에서 new File 시 파일이 생성되는 기본 경로입니다.

파일 업로드 경로 변경

new File("./../webapps/프로젝트명/webapp이하폴더명/파일명.확장자");

위와 같이, 톰캣 bin 경로에서부터 상대경로로 프로젝트 폴더에 접근하여 파일을 생성하면 됩니다.
폴더 경로는 application.properties에 설정해두고 @Value 어노테이션으로 불러와서 공통으로 사용하면 좋습니다.


윈도우 톰캣

파일 업로드 경로

/ (프로젝트 폴더)

파일 업로드 경로 변경

new File("./src/main/webapp/webapp이하폴더명/파일명.확장자");

톰캣 업로드 파일 접근 권한 변경

톰캣에 업로드한 파일의 기본 접근 권한은 -rw-r—– 라서 Java에서 읽을 수 없습니다.

Java에서 new File 시 에러 메세지

javax.imageio.IIOException: Can't read input file!

catalina.sh 설정 변경

vi /usr/local/톰캣폴더/bin/catalina.sh

폴더 및 파일 기본 생성 권한을 0027을 0022로 바꿔주고 톰캣을 재기동하면 파일을 읽을 수 없는 에러가 해결됩니다.

if [ -z "$UMASK" ]; then
    UMASK="0022"
fi
umask $UMASK

변경 후 파일 접근 권한

-rw-r--r--

리눅스 파일 접근 권한 보는 법

예시 : -rwxr-xr--
1번째 문자 - -는 파일이고, d는 폴더입니다.
2~4번째 문자 rwx 파일 소유자에게 읽기, 쓰기, 실행 권한이 있습니다.
5~7번째 문자 r-x 그룹에게 읽기, 실행 권한이 있습니다.
8~10번째 문자 r-- 기타 사용자에게 읽기 권한이 있습니다.

Leave a comment