Tomcat

톰캣 구동 계정 변경

생활개발 2024. 6. 20. 14:02
728x90

root계정으로 톰캣 실행 시 보안측면에서 문제가 발생한다.

root 계정이기 때문에 마음대로 파일 업로드를 하거나 업로드한 파일을 이용해 root 권한을 탈취하여 악의적인 코드를 실행시킬 수 있다.

그래서 tomcat이라는 일반계정을 생성한 후 앞으로는 tomcat 계정으로 Apache Tomcat을 구동시키도록 한다.

 

톰캣 구동 계정 확인

$ ps -ef | grep tomcat

root 4054 1 0 14:24 ? 00:00:14 //bin/java -Djava.util.logging.config.file=/생략

확인해보면 root로 실행중이다

 

tomcat계정 설정

 

# tomcat group 생성

$ groupadd tomcat

 

# tomcat user 생성 /bin/nologin을 이용하여 계정 로그인을 금지하며 그룹 및 홈디렉토리를 설정한다.

$ useradd -M -s /bin/bash -g tomcat -d /usr/local/tomcat tomcat

 

# tomcat 디렉토리 권한 설정

$ chown -R tomcat:tomcat /usr/lcoal/tomcat

 

# tomcat 유저 확인

$ cat /etc/passwd

tomcat:x:1001:1001::/usr/local/tomcat:/bin/bash

 

tomcat 계정으로 실행하기 위한 서비스 파일 생성

$ vi /usr/lib/systemd/system/tomcat.service

 

tomcat.service 내용

#시작

[Unit]

Description=Apache Tomcat Web Application Container

After=syslog.target network.target

 

[Service]

Type=forking

 

ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/bin/kill -15 $MAINPID

 

User=tomcat

Group=tomcat

UMask=0007

RestartSec=10

Restart=always

 

[Install]

WantedBy=multi-user.target

#

서버 재부팅 시 톰캣 서비스 자동 시작

# 서비스 등록

$ systemctl enable tomcat.service

 

# 서비스 데몬 재로드

$ systemctl daemon-reload

 

등록된 서비스 조회

$ systemctl list-unit-files --type service | grep tomcat

tomcat.service enabled

 

톰캣 구동 테스트

# 톰캣 서비스 시작

$ service tomcat start

 

$ ps -ef | grep tomcat

tomcat 5043 1 94 16:19 ? 00:00:04 /usr/bin/java -Djava.util.logging.config.file=/생략

 

성공!

728x90