바람둥이와 관련된 권한 문제


9

우분투 가이드에 따라 Tomcat 7을 설치했습니다 . 서버가 작동하고 있으며 "작동합니다!" 페이지 http://localhost:8080/.

이제 Netbeans를 사용하여 자체 webapp를 설정하고 싶습니다. Java EE 6 및 Tomcat 7을 사용하여 새 웹 프로젝트 를 생성했습니다 . 사용자가 /var/lib/tomcat7/conf/tomcat-users.xml파일을 올바르게 구성했습니다.

프로젝트를 실행하면 모든 것이 정상으로 보이지만 브라우저를 열면 500 오류가 표시됩니다 .

파일 권한 :

lucio@lucio-pc:/$ ll /var/lib/tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/tomcat7/logs -> ../../log/tomcat7/
lucio@lucio-pc:/$ ll /var/log/tomcat7/
total 136
drwxr-x---  2 tomcat7 adm      4096 ago 28 10:50 ./
drwxrwxr-x 15 root    syslog   4096 ago 28 09:29 ../
-rw-r--r--  1 tomcat7 tomcat7   800 ago 26 17:23 catalina.2014-08-26.log.gz
-rw-r--r--  1 tomcat7 tomcat7  5173 ago 27 21:59 catalina.2014-08-27.log
-rw-r--r--  1 tomcat7 tomcat7 31285 ago 28 10:36 catalina.2014-08-28.log
-rw-r--r--  1 tomcat7 root    44192 ago 28 10:36 catalina.out
-rw-r--r--  1 tomcat7 tomcat7    45 ago 26 16:19 localhost.2014-08-26.log.gz
-rw-r--r--  1 tomcat7 tomcat7     0 ago 27 11:15 localhost.2014-08-27.log
-rw-r--r--  1 tomcat7 tomcat7   433 ago 28 09:49 localhost.2014-08-28.log
-rw-r--r--  1 tomcat7 tomcat7  7435 ago 26 17:23 localhost_access_log.2014-08-26.txt
-rw-r--r--  1 tomcat7 tomcat7     0 ago 27 11:15 localhost_access_log.2014-08-27.txt
-rw-r--r--  1 tomcat7 tomcat7 15186 ago 28 09:58 localhost_access_log.2014-08-28.txt

파일에 액세스 할 수없는 이유를 이해하지 못합니다. 사용자 및 그룹 tomcat7에 파일에 대한 권한이 있음을 알 수 있습니다. 파일에 대한 권한이 필요한 JVM 사용자가 있습니까?

또한 여기에 언급 된대로 파일 소유권을 변경하려고 시도했지만 전혀 변경되지 않습니다.


/etc/default/tomcat7파일이 있습니다 :

TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7

그래서 그것은 tomcat7사용자 로 실행되고 있다고 생각합니다 .


내 사용자를 tomcat7그룹에 추가했습니다 .

sudo usermod -aG tomcat7 $USER

그런 다음 컴퓨터를 다시 시작했지만 문제가 지속됩니다.


Tomcat이 Tomcat7 사용자로 실행 중입니까?
muru

그것은 너무 오래 내가 바람둥이을 사용 이래로,하지만이 일이 나에게 발생 : 음주하지 당신이 프로그램이 로그에 액세스 할 수 있도록 tomcat7 그룹에있을 필요가? 또한 실제로 임시 파일에 액세스하려는 것처럼 보입니다 /var/lib/tomcat7/temp. 존재합니까? 동일한 권한 문제 일 수 있습니다. 아마도 tomcat7 그룹에 자신을 추가해야 할 수도 있습니다.
Marty Fried

또한 내 아이디어를 사용하려면 파일 그룹에 쓰기 가능 권한을 부여해야합니다. 여기 도움이 될만한 더 많은 정보 가 있습니다.
Marty Fried

tomcat7을 실행하는 사용자 (사람 또는 응용 프로그램)에게는 / var / lib / tomcat7 / 및 특히 logs 폴더에 액세스 할 수있는 권한이없는 것 같습니다.
MickyInTheSky

답변:


9

나는 두 가지 문제를 발견했다.

오류 로그의 두 줄이 나에게 두드러졌습니다.

SEVERE: Cannot find specified temporary folder at /var/lib/tomcat7/temp  

과:

java.io.FileNotFoundException: /var/lib/tomcat7/conf/tomcat-users.xml (Permission denied)

Lucio로 약간의 진단을 수행 하면서 tomcat-users.xml파일이 Tomcat의 소유가 아니라 대신 Tomcat이 소유하고 있음을 알았습니다 root. 다음 명령을 실행하여 권한을 적절한 권한으로 변경하십시오.

sudo chown tomcat7:tomcat7 /var/lib/tomcat7/conf/tomcat-users.xml

또한 /var/lib/tomcat7/temp다음과 같이 바람둥이 권한이 있는 폴더 를 만듭니다 .

sudo mkdir /var/lib/tomcat7/temp && sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/temp

마지막으로, 사용자 / 그룹이 /var/lib/tomcat7/logs소유 한 로그를 수정해야합니다 tomcat7. 는 /var/log/tomcat7/또한 소유해야 tomcat7사용자 및 그룹.


나를 위해 tomcat-user.xml파일 에 대한 권한을 변경하는 것으로 충분했습니다. 로그에 대해 동일한 작업을 수행하지 않았지만 응용 프로그램이 계속 실행 중입니다 :-)
Lucio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.