Ubuntuでは、ポート80をリッスンするためにsudoが必要ですが、使用していない他のポートはリッスンしません。

Ubuntuでは、ポート80をリッスンするためにsudoが必要ですが、使用していない他のポートはリッスンしません。

私のUbuntuデスクトップから小さなC ++ Webサーバーを正常に実行できます。未使用ポートこのように:

./myserver 127.0.0.1 3050

問題は、ポート80で実行している場合は、次のように実行する必要があることです。Sudoこのように:

sudo ./myserver 127.0.0.1 80

走り続けるとsudoなしのポート80、エラーが発生しました承認:無効なパラメータ

ポート80で実行するときにsudoが必要な理由を誰かが説明できますか?

ベストアンサー1

1024 以下の TCP/IP ポート番号は特別なため、一般ユーザーはそのポートでサーバーを実行できません。これはセキュリティ機能です。これらのポートの1つでサービスに接続すると、一部のハッカーが提供した偽の製品ではなく、本物の製品を持っていることをかなり確信で​​きます。

上記は次のとおりです。
https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html
また確認してみてください。https://en.wikipedia.org/wiki/Registered_port

おすすめ記事