En realidad sería más correcto decir cortar toda comunicación a un usuario.
El motivo de esto es simple : un niño de 5 añitos no esta preparado a tener acceso a internet, incluidos chats y páginas de todo tipo.
Para realizar el bloqueo editamos el archivo /etc/network/interfaces y añadimos junto debajo de la conexión que queramos esta linea :
pre-up iptables -A OUTPUT -p tcp -m owner --uid-owner usuario -j DROP
Hay que sustituir usuario por el nombre de usuario que queramos y reiniciar el servicio de red con /etc/init.d/networking restart
El resultado final podría ser este
auto eth0
iface eth0 inet dhcp
pre-up iptables -A OUTPUT -p tcp -m owner --uid-owner joan -j DROP
Os recuerdo que debeis quitarle derechos de administrador al usuario que queremos limitar. Sino él mismo podrá desbloquear la conexión.
ACTUALIZACION Poco después de añadir este post me surgió un nuevo problema.
¿ Y no que queremos que tenga acceso a internet pero si a la red interna ? Es que los juegos en red son los más guais, eso me lo teneis q reconocer.
Bueno, manos a la obra. Sería bloquear todo lo q este fuera de nuestro rango, en este caso 192.168.0.0/24, y quedaría así
pre-up iptables -A OUTPUT -p tcp -d ! 192.168.0.0/24 -m owner --uid-owner joan -j DROP
Con -d le marcamos el destino a bloquear, y con ! que no sea. Por tanto
-d ! 192.168.0.0/24
Y a jugar !!!