Voglio che uno degli utenti (non nell'elenco dei sudoers) abbia accesso a Internet dalle 14:00 alle 16:00 e dalle 17:00 alle 18:30. È possibile? Posso impostare intervalli di tempo diversi per giorni della settimana diversi?
Voglio che uno degli utenti (non nell'elenco dei sudoers) abbia accesso a Internet dalle 14:00 alle 16:00 e dalle 17:00 alle 18:30. È possibile? Posso impostare intervalli di tempo diversi per giorni della settimana diversi?
Risposte:
Puoi usare l' ownerestensione di iptables per impedire a un utente di accedere alla rete, ad esempio
sudo iptables -A OUTPUT -m owner --uid-owner user_you_want_to_block -j REJECT
Ora puoi usare cron per aggiungere o rimuovere quelle regole (che potrebbero richiedere un po 'di scripting della shell se hai già alcune regole iptable o vuoi che lo facciano per utenti diversi in momenti diversi).
-j REJECT --reject-with <argument>?
accedi come root:
sudo su
controlla lo stato del tuo firewall:
ufw status
se il firewall è inattivo , emettere:
ufw enable
al fine di limitare l' accesso a Internet di Wilhelm dell'utente la domenica, il martedì, il mercoledì e il venerdì agli intervalli di tempo consentiti (14: 00-16: 00 e 17: 00-18: 30):
iptables -I OUTPUT -p tcp -m owner --uid-owner wilhelm -m time --weekdays Su,Tu,We,Fr --timestart 00:00:01 --timestop 14:00:00 -j DROP
iptables -I OUTPUT -p tcp -m owner --uid-owner wilhelm -m time --weekdays Su,Tu,We,Fr --timestart 16:00:00 --timestop 17:00:00 -j DROP
iptables -I OUTPUT -p tcp -m owner --uid-owner wilhelm -m time --weekdays Su,Tu,We,Fr --timestart 18:30:00 --timestop 23:59:59 -j DROP
nota a margine : * si prega di notare l'uso di -Iswitch anziché -Aswitch del iptablescomando. lo -Iswitch inserisce le regole di cui sopra (3.) all'inizio (in alto) della catena di regole OUTPUT anziché nella parte inferiore della catena. posizionare le regole aggiunte manualmente in cima alle normali politiche del firewall è importante poiché le regole vengono elaborate dall'alto verso il basso. se la maggior parte delle regole ACCETTA un pacchetto, la catena, OUTPUT, non viene più controllata per le seguenti regole che potrebbero aver DROPped il pacchetto.
assicurati che le regole siano state effettivamente inserite correttamente:
iptables -L OUTPUT
al fine di eliminare una regola inadeguato, dire (conteggio 1-based dalla parte superiore della regola n ° 1, iptables -v -L OUTPUT) problema: iptables -D OUTPUT 1.
salva iptables per il ripristino al prossimo avvio:
iptables-save > /etc/iptables.rules
in /etc/rc.localappend la riga:
iptables-restore < /etc/iptables.rules
fatto
-
testato su Ubuntu 11.10 (onirico), locale: lui
central european summer time -2 hours.
ufwanche se in seguito lo utilizzerai iptables?
--kerneltzopzione ("Usa il fuso orario del kernel anziché UTC")