리눅스/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. 테스트
sudo 권한 없이 일반계정인 tomcat으로 실행
80 port 정상 출력
기타. 권한 삭제
setcap -r //usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
반응형