리눅스/Ubuntu

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

베어그릴스 2024. 2. 29. 08:48
반응형

리눅스 시스템에서는 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

 

 

반응형