Saya berasumsi bahwa pengguna A dan B menggunakan mesin Linux yang sama di mana Anda adalah administratornya. (Tidak sepenuhnya jelas dari pertanyaan Anda. Jika A dan B memiliki komputer sendiri tempat mereka menjadi administrator, itu masalah yang sama sekali berbeda.)
Perintah berikut akan mencegah pengguna dengan uid 1234 mengirim paket pada antarmuka 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
Saya merekomendasikan membaca panduan iptables Ubuntu untuk mendapatkan pemahaman dasar tentang alat ini (dan merujuk ke halaman manual untuk hal-hal lanjutan seperti tabel mangle).
Pengguna masih dapat menjalankan ping (karena ini adalah root setuid), tetapi tidak yang lainnya. Pengguna masih dapat terhubung ke proxy lokal jika proxy tersebut dimulai oleh pengguna lain.
Untuk menghapus aturan ini, tambahkan -D
ke perintah di atas.
Untuk membuat aturan permanen, tambahkan ke /etc/network/if-up.d/my-user-restrictions
(jadikan skrip yang dapat dieksekusi dimulai dengan #!/bin/sh
). Atau gunakan iptables-save
(lihat panduan iptables Ubuntu untuk informasi lebih lanjut).