톰캣 구동 계정 변경
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=/…생략
성공!