본문 바로가기
리눅스/Ubuntu

루트 권한 없이 80 포트 실행하기

by 베어그릴스 2024. 2. 29.
반응형

리눅스 시스템에서는 1024 이하 포트를 실행하기 위해서는 root 사용자 권한이 필수입니다.

보안적으로도 그렇고요 하지만 서비스를 불필요하게 root로 구동하는 것은 보안상 취약해질 수 있기 때문에

setcap 명령어를 이용하여 일반 계정에 권한 부여를 권장합니다.

 

1. setcap 옵션

-e : effective  효력 부여
-p : Permitted  허용
-i : Inheritable  권한 상속 여부(execve)

 

2. 권한 부여

sudo setcap 'cap_net_bind_service=+ep' /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

 

3. 부여확인

getcap /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

 

4. 실행확인

./apache-tomcat-8.5.84/bin/catalina.sh run

 

5. 테스트

shutdown

sudo 권한 없이 일반계정인 tomcat으로 실행

 

80 port 정상 출력

 

tomcat

 

기타. 권한 삭제

setcap -r //usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

 

 

반응형

댓글