私は Linux 名前空間で遊んでいますが、ユーザーが新しいネットワーク名前空間で (ユーザー名前空間を使用せずに) プロセスを実行したい場合、root になるか、そのCAP_SYS_ADMIN
機能が必要であることに気付きました。
unshare(2)マンページには次のように書かれています。
CLONE_NEWNET (Linux 2.6.24 以降)
このフラグは、clone(2) CLONE_NEWNET フラグと同じ効果があります。ネットワーク名前空間の共有を解除して、呼び出し元のプロセスが既存のプロセスと共有されていない新しいネットワーク名前空間に移動されるようにします。CLONE_NEWNET を使用するには、CAP_SYS_ADMIN 機能が必要です。
したがって、ネットワーク サンドボックスで pdf リーダーを実行する場合は、user-net-namespaces または特権ラッパーを使用する必要があります。
なんで?新しいプロセスは、インターフェイスのない新しいネットワーク名前空間に配置されるため、実際のネットワークから分離されますよね? 権限のないユーザー以外のネットワーク名前空間によって、どのような問題/セキュリティ上の脅威が発生しますか?