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' owner
estensione 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 -I
switch anziché -A
switch del iptables
comando. lo -I
switch 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.local
append la riga:
iptables-restore < /etc/iptables.rules
fatto
-
testato su Ubuntu 11.10 (onirico), locale: lui
central european summer time -2 hours
.
ufw
anche se in seguito lo utilizzerai iptables
?
--kerneltz
opzione ("Usa il fuso orario del kernel anziché UTC")