ポートが1024未満のコンピューターとデータを交換しており、コンピューターがUNIXのバリアントを実行していることがわかっているとします。次に、そのポートで実行されているサービスがシステム管理者によって承認されていることがわかります。サービスはルートとして実行されているか、少なくともルートとして開始する必要がありました。
インターネットの広く野生の世界では、これは問題ではありません。ほとんどのサーバーは、それらで実行されているサービスと同じ人によって管理されます。他のユーザーよりもルートを信頼することはないでしょう。
特にローカルネットワーク上のマルチユーザーマシンでは、これは重要です。たとえば、民間暗号化の前の時代、別のマシンでシェルコマンドを実行する一般的な方法はrsh
(r emote sh ell)でした。パスワード認証を使用するか、マシンAのユーザーXであることを証明するだけで認証できます(マシンBはX @ AがパスワードなしでX @ Bとしてログインできることを知っています)。それを証明する方法は?rsh
クライアントはrootにsetuidであり、サーバはそれがに話しているクライアントが信頼できるとこれにA上のユーザーがそれを呼び出しているように存在しないことを知っているので、ポート番号<1024を使用しています。同様にNFS ユーザーと権限に関して透過的であるように設計されたため、一般的な構成では、ローカルネットワーク上ですべてのマシンが同じユーザーデータベースを使用し、サーバーBからファイルシステムをマウントするAのユーザーNはBのユーザーNの権限を取得します。繰り返しますが、NFSクライアントが1024未満のポート番号から来ているという事実は、AのルートがNFSクライアントを検査したことを証明します。これは、ユーザーNからのリクエストを送信する場合、そのリクエストが本当にユーザーNから
権限のないユーザーが低いポートでサーバーを実行できないことも別の利点ですが、主な利点ではありません。かつて、スプーフィングは非常に斬新であり、スプーフィングサーバーを実行しているユーザーは、とにかく用心深い管理者によってすぐに打ち消されてしまいました。