Control parental i usuaris limitats a Linux: com administrar equips familiars
Compartir un equip amb nens o estudiants a Linux no requereix canviar de sistema ni renunciar al control. Però tampoc n’hi ha prou amb crear un compte limitat i assumir que això és suficient. Perquè l’equip sigui útil i segur alhora, cal prendre algunes decisions concretes: des de com definir els usuaris fins a com aplicar restriccions reals, tant tècniques com pràctiques.
La majoria del que aquí s’aplica a sistemes basats en Debian i Ubuntu, però també s’indiquen alternatives o adaptacions quan correspon.
Crear usuaris amb permisos adequats
El primer pas no és instal·lar programari ni configurar filtres. És definir qui ha de fer servir l’equip i com. L’error més comú és permetre que tots facin servir el mateix compte, o que cadascú tingui el seu compte però sense restriccions reals.
Usuaris estàndard, no administradors
Als sistemes Linux, els usuaris es classifiquen en dos grups: amb privilegis administratius (root o sudo) i sense ells. Per a comptes infantils o d’ ús restringit, el correcte és crear usuaris estàndard, que no pertanyin al grup sudo.
Comandament per crear un usuari sense privilegis:
sudo adduser --disabled-password --gecos "" nom_usuari
Això crea un compte sense contrasenya inicial. Després es pot establir-la:
sudo passwd nom_usuari
Evitar que tingui privilegis administratius:
Confirma que no pertany al grup sudo ni a altres grups sensibles:
groups nom_usuari
Si apareix sudo, elimínalo:
sudo deluser nom_usuari sudo
Evita també grups com adm, lpadmin o docker si hi són presents.
Limitar l’ ús del sistema: sessions, accés i programari
Establir límits d’ horari amb pam_time
Pots restringir quan un usuari pot iniciar sessió en el sistema. Això és útil si hi ha regles sobre horaris d’ ús.
Edita l’arxiu /etc/security/time.conf:
login;*;nom_usuari;Al0800-1800
Aquest exemple permet accés només de dilluns a divendres, entre les 8:00 i les 18:00. Els codis de dies són:
- Mo a Su per a dilluns a diumenge.
- AI és dilluns a divendres.
- 0800-1800 és el rang horari (format 24h).
Activa aquest control a PAM. Edita /etc/pam.d/common-auth i afegeix aquesta línia al començament:
account required pam_time.so
Controlar l’ accés físic amb lightdm o gdm
Si fas servir un entorn gràfic amb gestor de sessions com LightDM (usat en Xfce, MATE, etc.) o GDM (GNOME), pots impedir que una sessió específica aparegui al login.
Per a LightDM:
sudo nano /etc/lightdm/lightdm.conf
Afegeix:
[Seat:*]
greeter-hide-users=true
Això oculta tots els usuaris a la pantalla d’inici de sessió. Així es requereix saber el nom exacte de l’usuari per entrar.
Filtrar contingut web
Els sistemes Linux no inclouen un control parental llest per fer servir com el tenen altres sistemes. No obstant això, és possible aplicar filtres efectius, tot i que amb matisos.
Opció simple: OpenDNS (Cisco)
OpenDNS permet filtrar contingut a nivell de DNS. Es configura al router o al sistema operatiu.
Canviar els DNS a l’ equip:
Edita l’arxiu /etc/systemd/resolved.conf:
[Resolve]
DNS=208.67.222.123 208.67.220.123
FallbackDNS=1.1.1.1
DNSStubListener=yes
Després:
sudo systemctl restart systemd-resolved
Crea un compte a https://www.opendns.com/home-internet-security/ i configura els filtres des del panell web.
Avantatge: no requereix instal·lar programari. Desavantatge: no bloqueja connexions directes ni és específic per usuari.
Opció amb més control: DansGuardian + Squid (per a casos exigents)
Per a entorns escolars o famílies amb coneixements tècnics, una combinació de proxy amb filtratge és més flexible. DansGuardian treballa com a filtre de continguts, mentre que Squid actua com a proxy. Això requereix instal·lar i configurar ambdós serveis.
- Instal·lar els paquets:
sudo apt install squid dansguardian
- Configurar Squid per treballar amb DansGuardian (port 3128 per defecte), i redirigir el trànsit des del navegador.
- Configurar el navegador de l’ usuari restringit per usar el proxy local.
- Limitar que l’ usuari no canviï la configuració. Per exemple, fent servir Firefox en mode Enterprise amb polítiques JSON:
mkdir -p /etc/firefox/policies
Arxiu /etc/firefox/policies/policies.json:
{
"policies": {
"Proxy": {
"Mode": "manual",
"HTTPProxy": "127.0.0.1:8080",
"SSLProxy": "127.0.0.1:8080",
"Locked": true
}
}
}
Això obliga Firefox a fer servir el proxy i evita que l’usuari el canviï.
Bloquejar accés a aplicacions específiques
Mètode per permisos: chmod i chown
Per a impedir que un usuari pugui executar un programa específic:
sudo chmod o-rx /usr/bin/gnome-terminal
Això evita que d’altres (excepte root o l’amo de l’arxiu) puguin executar-lo. No és infal·lible: si l’usuari té una altra terminal o accés al navegador d’arxius amb execució, se’l pot saltar.
Millor opció: fer servir AppArmor o configurar el sistema amb perfils d’ execució.
Configurar un escriptori limitat
Xfce o MATE: escriptoris lleugers i configurables
Aquests entorns permeten definir exactament quines aplicacions apareixen, bloquejar canvis i limitar menús.
Instal·lar Xfce a Ubuntu:
sudo apt install xfce4
Crear un perfil net per a l’ usuari restringit:
- Iniciar sessió com l’ usuari.
- Configurar el panell amb accessos directes específics.
- Deshabilitar funcions com “Executar” (Alt+F2) o terminal des del menú.
- Bloquejar la configuració copiant els arxius de configuració i traient permisos:
sudo chown root:root ~/.config/xfce4
sudo chmod -R 755 ~/.config/xfce4
Això impedeix que l’usuari modifiqui l’entorn.
Evitar instal·lacions o canvis del sistema
Un usuari sense sudo no pot instal·lar programari des de repositoris, però encara podria fer servir AppImage, compilar codi o executar binaris si els descarrega.
Reforçar la seguretat del sistema:
- Eliminar eines com gcc, make, flatpak, snap si no són necessàries.
sudo apt elimina gcc g++ fa snapd flatpak
- Fer servir AppArmor o SELinux per a restringir el comportament d’ aplicacions executades per l’ usuari.
- Muntar el home amb opcions més restrictives (per exemple, no es vol evitar execució de binaris des del directori de l’usuari). Això requereix editar /etc/fstab.
Exemple:
UUID=xxx-xxx /home ext4 defaults,noexec 0 2
Atenció: això pot afectar alguns programes legítims si escriuen executables temporals a /home.
Controlar el temps d’ ús amb Timekpr-nExT
Aquest és un dels pocs projectes actius que permeten limitar el temps d’ ús per usuari de forma gràfica i específica. Funciona a Ubuntu i derivats.
Instalar Timekpr-nExT:
sudo add-apt-repository ppa:mjasnik/ppa
sudo apt update
sudo apt install timekpr-next
Després d’instal·lar-lo, obre l’eina des de l’usuari administrador i configura:
- Temps total diari permès
- Horaris d’ accés permesos
- Missatges d’ advertiment en acostar-se el límit
Timekpr-nExT s’ executa com a daemon i bloqueja la sessió si se supera el límit establert.
Ajustaments extra
Evitar que l’ usuari apagui o reiniciï el sistema
En alguns entorns (com GNOME o KDE), un usuari sense sudo pot igualment suspendre o apagar l’equip des de la interfície gràfica. Per a evitar-ho:
Polkit:
Edita o crea aquest arxiu:
/etc/polkit-1/localauthority/50-local.d/disable-shutdown.pkla
Contingut:
[Disable shutdown]
Identity=unix-user:nom_usuari
Action=org.freedesktop.login1.power-off;org.freedesktop.login1.reboot;org.freedesktop.login1.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no
Això bloqueja les accions d’apagat i reinici des de l’entorn gràfic per a aquest usuari.
Prevenir evasions: mesures pràctiques perquè les restriccions siguin efectives
Un error comú a configuracions de control parental a Linux és suposar que n’hi ha prou amb aplicar mesures aïllades —per exemple, canviar els DNS o crear un compte sense costat— sense bloquejar la possibilitat de revertir aquests canvis. En l’ús diari, fins i tot un usuari sense privilegis pot modificar paràmetres de xarxa, instal·lar programari en el seu directori personal o iniciar sessions amb LiveUSB. Prevenir això no requereix paranoia, però sí coherència.
Evitar canvis de DNS o de xarxa
Canviar els DNS des de l’entorn gràfic anul·la immediatament qualsevol filtre com OpenDNS. Això és possible en moltes distribucions fins i tot sense permisos d’administrador.
Bloquejar edició de xarxa amb Polkit
Pots fer servir Polkit per impedir que un usuari estàndard editi les connexions de xarxa. Crea un arxiu com aquest:
sudo nano /etc/polkit-1/localauthority/50-local.d/10-network-restrictions.pkla
Contingut:
[Disable Network Editing for Restricted User]
Identity=unix-user:nom_usuari
Action=org.freedesktop.NetworkManager.settings.modify.system
ResultAny=no
ResultInactive=no
ResultActive=no
Això bloqueja l’accés a l’edició de xarxes des de la interfície gràfica de NetworkManager.
En algunes versions de GNOME o KDE, també convé treure l’opció d’editar xarxes des dels menús. En GNOME, per exemple, es pot fer servir dconf-editor per ocultar seccions de configuració si és estrictament necessari.
Controlar l’ ús de dispositius USB i emmagatzematge extern
Els dispositius externs permeten importar contingut o executar programari portàtil (com AppImage). També es poden fer servir per evadir restriccions o extreure dades personals.
Mètode 1: treure l’ usuari del grup plugdev
Molts entorns permeten el muntatge automàtic si l’usuari està al grup plugdev.
sudo gpasswd -d nom_usuari plugdev
Això evitarà el muntatge automàtic de dispositius. Si es fa servir un entorn que ignora aquest grup (com algunes versions de KDE), caldrà modificar la política de l’automuntatge des de les preferències de l’escriptori.
Mètode 2: crear regles udev per impedir dispositius específics
Pots bloquejar dispositius d’emmagatzematge amb regles com aquesta:
sudo nano /etc/udev/rules.d/100-block-usb.rules
Contingut:
SUBSYSTEM=="usb", ATTR{product}=="USB Flash Disk", ACTION=="add", ATTR{authorized}="0"
Aquest exemple bloqueja dispositius l’identificador dels quals coincideixi amb “USB Flash Disk”. Pots adaptar el valor correcte executant:
udevadm info -a -n /dev/sdb
Un cop aplicada la regla:
sudo udevadm control --reload
Aquestes regles són efectives però específiques. Per bloquejar tot emmagatzematge USB, pots fer servir:
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="06", ATTRS{bInterfaceProtocol}=="50", ATTR{authorized}="0"
Això identifica la classe de dispositius d’ emmagatzematge massiu.
Supervisa execució o instal·lació de programari no autoritzat
Tot i que un usuari sense privilegis no pugui instal·lar paquets del sistema, encara pot:
- Executar binaris descarregats (AppImage, scripts)
- Fer servir entorns portàtils (Python, Node, Java)
- Instal·lar extensions de navegador que anul·lin restriccions
Muntar /home amb l’opció noexec
Això evita executar qualsevol binari directament des del directori personal:
- Editar /etc/fstab:
Suposem que /home està en la seva pròpia partició. Afegeix noexec:
UUID=xxxxxxxx /home ext4 defaults,noexec 0 2
- Remuntar:
sudo mount -o remount,noexec /home
Conseqüències: Alguns programes legítims que escriuen i executen arxius temporals a /home deixaran de funcionar. Avalua abans si és viable al teu entorn.
Eliminar entorns d’ execució i eines de compilació
Desinstal·la el que no es necessiti però permeti instal·lar binaris fàcilment:
sudo apt remove gcc g++ make python3-pip nodejs npm flatpak snapd
Afegir capes de seguretat amb AppArmor
AppArmor permet definir què pot fer una aplicació: quins arxius pot llegir, on pot escriure, què pot executar. És útil per a restringir navegadors, eines de xarxa o qualsevol aplicació amb accés a internet.
Veure si AppArmor està actiu:
sudo aa-status
Activar si no ho està:
sudo systemctl enable --now apparmor
Crear un perfil per a Firefox:
sudo aa-genprof firefox
Això llança Firefox i monitoritza el seu comportament per ajudar-te a definir un perfil. Un cop configurat, AppArmor evitarà que Firefox accedeixi, per exemple, a arxius fora del seu sandbox, a scripts externs o a carpetes del sistema.
Consideracions específiques segons l’ entorn gràfic
Cada entorn té les seves particularitats. Aquí alguns punts importants:
GNOME (Ubuntu, Fedora, Debian)
- Molt difícil de restringir sense eines corporatives com dconf, gsettings i polkit.
- És recomanable fer servir polítiques (/etc/dconf/db/local.d/) per a bloquejar la configuració del sistema, xarxes, comptes, etc.
- Requereix coneixements més avançats per fer canvis persistents sense trencar l’ entorn.
KDE Plasma
- Té moltes opcions per defecte accessibles des del menú.
- Es pot fer servir quiosc mode per a bloquejar funcions. Està ben documentat, però requereix configuració manual i proves.
- És fàcil deshabilitar la terminal, el gestor de tasques, els menús avançats, etc., però cal mantenir les configuracions després de les actualitzacions.
Xfce i MATE
- Són entorns lleugers i raonablement configurables.
- No tenen tantes mesures de protecció per defecte, però tampoc tants accessos innecessaris.
- Es poden editar menús fàcilment, bloquejar dreceres, eliminar accessos a la terminal i configurar l’ entorn de l’ usuari des de fora de la seva sessió.
Llista de verificació final
Aquest resum permet verificar els punts clau d’ una configuració funcional i realista:
| Element | Acció recomanada |
| Comptes separats | Crear un usuari per persona, sense accés a sudo |
| Entorn gràfic | Fer servir Xfce o MATE; configurar el panell i el menú |
| Terminal | Eliminar accessos, revocar permisos d’ execució |
| DNS i xarxa | Fer servir OpenDNS i bloquejar canvis amb Polkit |
| Temps d’ ús | Instal·lar i configurar Timekpr-nExT |
| Filtres web | Fer servir proxy amb e2guardian o DNS filtrado |
| Programari portàtil | Muntar /home amb noexec; eliminar eines de desenvolupament |
| USB i emmagatzematge | Treure plugdev; fer servir regles udev si es requereix |
| Apagat i suspensió | Bloquejar amb polítiques Polkit per usuari |
| Navegadors | Configurar polítiques de proxy i bloquejar extensions |
| Aplicació | Activar i aplicar perfils a Firefox o altres apps crítiques |
Conclusió
Als sistemes Linux, no hi ha una única eina de control parental que ho faci tot. Però sí que hi ha formes de construir un entorn segur, útil i administrable per a equips compartits, sense perdre flexibilitat ni dependre de programari tancat. Les decisions més importants no són tècniques, sinó d’ estructura: separar comptes, limitar l’ entorn i aplicar filtres on realment funcionen. Amb aquestes mesures combinades, és possible compartir un equip amb menors o estudiants sense risc innecessari ni sobrecàrrega administrativa.

