Ubuntu에서는 포트 80을 수신하려면 sudo가 필요하지만 사용하지 않는 다른 포트는 수신하지 않습니다.

Ubuntu에서는 포트 80을 수신하려면 sudo가 필요하지만 사용하지 않는 다른 포트는 수신하지 않습니다.

내 Ubuntu 데스크탑에서 작은 C++ 웹 서버를 성공적으로 실행할 수 있습니다.사용하지 않는 포트이와 같이:

./myserver 127.0.0.1 3050

문제는 포트 80에서 실행하는 경우 다음과 같이 실행해야 한다는 것입니다.스도이와 같이:

sudo ./myserver 127.0.0.1 80

내가 계속 달리면sudo가 없는 포트 80, 오류가 발생했습니다승인: 잘못된 매개변수.

포트 80에서 실행할 때 sudo가 필요한 이유를 누군가 설명할 수 있습니까?

답변1

1024 이하의 TCP/IP 포트 번호는 특별하므로 일반 사용자는 해당 포트에서 서버를 실행할 수 없습니다. 이는 보안 기능입니다. 이러한 포트 중 하나에서 서비스에 연결하면 일부 해커가 제공한 가짜 제품이 아니라 진짜 제품을 갖고 있다는 것을 상당히 확신할 수 있기 때문입니다.

위의 내용은 다음과 같습니다.
https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html
또한 확인해 보세요.https://en.wikipedia.org/wiki/Registered_port

관련 정보