ユーザー A と B は、あなたが管理者である同じ Linux マシンを使用していると仮定します。 (あなたの質問からは完全には明らかではありません。A と B が管理者として使用しているコンピューターを所有している場合、それはまったく別の問題です。)
次のコマンドは、uid 1234 を持つユーザーがインターフェイス eth0
でパケットを送信できないようにします。 :
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
ip6tables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
ツールの基本的な知識を得るために、Ubuntu iptables ガイドを読むことをお勧めします (マングル テーブルなどの高度な機能については、man ページを参照してください)。
ユーザーは引き続き ping を実行できますが (ルートが setuid であるため)、それ以外は実行できません。そのプロキシが別のユーザーによって開始された場合、ユーザーは引き続きローカル プロキシに接続できます。
このルールを削除するには、-D
を追加します 上記のコマンドに。
ルールを永続的にするには、/etc/network/if-up.d/my-user-restrictions
に追加します (#!/bin/sh
で始まる実行可能スクリプトを作成します) )。または iptables-save
を使用します (詳細については、Ubuntu iptables ガイドを参照してください)。