Tomcat7(또는 기타) 사용자로 Tomcat7을 실행합니다.

Tomcat7(또는 기타) 사용자로 Tomcat7을 실행합니다.

Tomcat7 인스턴스가 tomcat7(또는 다른) 사용자로 실행되고 있는지 확인하는 권장 방법은 무엇입니까?

상단에 'su tomcat7'을 수정 tomcat7-instance/bin/startup.sh하고 추가 할 수 있다고 가정합니다 .tomcat7-instance/bin/shutdown.sh

Tomcat6에서는 환경 변수인 것 같습니다 TOMCAT6_USER.

답변1

가장 일반적인 방법은 표준 tomcat7패키지를 설치 apt-get하고 다음을 사용하여 시작하는 것입니다.

sudo service tomcat7 start

/etc/default/tomcat7기본 사용자 및 그룹은 이 발췌문에서 볼 수 있듯이 구성됩니다 .

# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7

# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7

답변2

편집: 아래 댓글을 읽어보세요! 이 솔루션은 모든 상황에 적용되지 않을 수 있습니다.

허용되는 답변은 훌륭하지만 Ubuntu 14.04에서 Tomcat 7을 실행했기 때문에 모든 것을 실행하려면 수행해야 할 몇 가지 추가 작업이 있었습니다.

  1. 파일을 편집하기 전에 tomcat 서비스를 중지해야 합니다 /etc/default/tomcat7. 사용자 및 그룹을 변경하면 더 이상 이전 사용자를 사용한 서비스를 중지할 수 없습니다.
  2. 파일에서 사용자 및 그룹 변경/etc/default/tomcat7

  3. 폴더 /var/log/tomcat7와 모든 파일의 소유권을 변경해야 합니다. 모든 adm 사용자가 로그를 읽을 수 있도록 adm 그룹을 유지하는 것이 장점이라는 점에 유의하세요.

    sudo chown -R newuser:adm /var/log/tomcat7

  4. 폴더 소유권 변경/var/lib/tomcat7/webapps

    sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps

  5. Ubuntu 14.04의 포트 80/443에서 실행하는 경우 authbind 파일의 소유권을 변경해야 합니다.

    sudo chown newuser /etc/authbind/byport/80

    sudo chown newuser /etc/authbind/byport/443

  6. 작업 폴더의 소유권 변경

    sudo chown newuser:adm /var/cache/tomcat7

    sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina

  7. 구성 파일을 읽을 수 있게 만듭니다. 여기에는 두 가지 옵션이 있습니다. 다음을 수행하여 tomcat7 그룹에 새 사용자를 추가합니다.

    sudo usermod -a -G tomcat7 newuser

    ...또는 구성 파일의 소유권을 변경합니다.

    sudo chown -R :newgroup /var/lib/tomcat7/conf/*

  8. 로그 파일 구성 파일 등과 같이 웹앱이 액세스하는 다른 파일이 있는 경우 해당 파일의 소유권도 변경해야 합니다.

  9. 이제 새 사용자와 함께 서비스를 다시 시작할 준비가 모두 완료되었습니다.

편집 2: Tomcat 8 및 Ubuntu 18.04로 업그레이드한 후 Tomcat을 다른 사용자로 실행할 때 또 다른 문제가 나타났습니다. 스크립트에서 /etc/init.d/tomcat8다음 줄은 Tomcat 사용자의 홈 폴더를 변경하는 것처럼 보이지만 다른 사용자를 사용하는 경우 결과는 원하는 것과 다릅니다.

usermod --home /var/lib/tomcat8 $TOMCAT8_USER > /dev/null 2>&1 || true

이 줄을 제거하거나 주석 처리하면 새 Tomcat 사용자에 대해 홈 폴더가 변경되는 것을 방지할 수 있습니다.

관련 정보