본문 바로가기
[개발] Programming/Server

톰캣 root가 아닌 일반 계정으로 실행하기, sudo 사용

by eatyourKimchi 2018. 10. 23.

리눅스, 일반 계정으로 80포트를 띄울 수 있는 방법




1. /etc/sudoers 설정 추가


root 로 접속한 뒤, 'sudoers' 파일 편집을 위해 권한 설정


 ]$ cd /etc

 ]$ chmod 700 sudoers 


(만약 파일 수정 권한을 갖고 있다면 굳이 권한을 변경할 필요는 없음)



권한을 설정한 뒤 해당 파일을 열고 


 ]$ vi sudoers 



하단에 아래와 같이 계정 및 명령어 추가 하고 저장 


 kido ALL=(ALL)NOPASSWD: /tomcat경로/bin/startup.sh,/tomcat경로/bin/shutdown.sh



 * 만약 kido라는 일반 계정으로 명령어를 실행하고 싶은 경우

  kido ALL = NOPASSWD : 톰캣구동 명령어 , 톰캣종료 명령어

  만약에 모든 명령어를 허용하고 싶으면 NOPASSWD: 뒤에 ALL을 입력한다.



파일 권한은 다시 원래대로 읽기 전용으로 설정한다.


  ]$ chmod 440 sudoers






2. kido 계정으로 접속, sudo 명령어로 테스트


 톰캣을 재기동한 뒤 


  ]$ sudo /tomcat경로/bin/shutdown.sh 


  ]$ sudo /tomcat경로/bin/startup.sh 


 톰캣 로그에 에러 없이 정상 적으로 구동 되는 지 확인하면 끝.






* Exception 발생 시


서버 환경 설정에 따라 JAVA_HOME 을 인식 하지 못하여 Tomcat 구동시  jre library 오류 발생하면 


/etc/sudoers에 기존에 있는 Defaults env_keep 문구들 맨 아래에 한줄 추가


 Defaults    env_keep += "JAVA_HOME CATALINA_HOME"




댓글