리눅스 에서 1024 이하 포트 사용하기

아토시스·2022년 11월 7일
1

Linux

목록 보기
11/11

리눅스에서 80 포트를 사용해서 서버가 꺼지지 않게끔 하기 위해서 pm2를 사용해야했다.
nginx & pm2를 사용하려고 했으나 실패 ,, vim으로 서버 및 location을 바꿔주려 했으나 nginx index 화면만 로딩 될 뿐 80포트를 사용하고 있다는 에러가 발생.

클라이언트에서 sudo 권한으로 통제하려 했으나 node.js 아래에 있기 때문에 node에 권한을 부여해야했다 ,,

약 5시간동안 삽질 했지만 위 사실을 알지 못했음 ,,

admin permissions are required to run a server on a port below 1024

1024보다 아래의 port를 사용하려면 admin의 허가가 필요하다.
해당 오류는 node 가 1024 보다 아래의 port 를 사용하려면 허가가 필요한데 그렇게 설정이 되어있지 않아 생긴 오류였다.

sudo setcap 'cap_net_bind_service=+ep' `which node`

위 코드는 nodejs 에 bind 권한을 주는 명령어이다.
위와 같이 명령어를 실행할 경우 node가 1024 보다 아래의 port를 사용할 수 있다.

위 코드에서 which nodewhichwhereis와 같이 관련된 파일의 위치를 출력해주는데 which의 경우 환경변수에 등록된 path를 출력해주는 듯 보였다.

sudo getcap `which node`

위 코드는 조회 기능이다.


그렇다면 왜 sudo로 실행하지 않을까 ?

nvm은 사용자별,쉘별이기 때문이다. 노드를 root로 실행하는 것은 좋은 방법은 아니라고 한다.
참나 ~!

profile
오늘보다 더 나은 내일이 되길 바라며

0개의 댓글