Ich möchte, dass einer der Benutzer (nicht in der Sudoers-Liste) von 14:00 bis 16:00 Uhr und von 17:00 bis 18:30 Uhr über einen Internetzugang verfügt. Ist es möglich? Kann ich verschiedene Zeitintervalle für verschiedene Wochentage einstellen?
12
Antworten:
Sie können die
owner
Erweiterung von iptables verwenden , um einen Benutzer daran zu hindern, auf das Netz zuzugreifenJetzt können Sie cron verwenden, um diese Regeln hinzuzufügen oder zu entfernen (was möglicherweise ein wenig Shell-Scripting erfordert, wenn Sie bereits einige iptable-Regeln haben oder dies für verschiedene Benutzer zu unterschiedlichen Zeiten möchten).
quelle
-j REJECT --reject-with <argument>
?Login als root:
sudo su
Überprüfen Sie den Status Ihrer Firewall:
Wenn die Firewall inaktiv ist , gehen Sie wie folgt vor :
um Benutzer zu beschränken Wilhelm - Internetzugang auf Sonntag, Dienstag, Mittwoch und Freitag , um die zulässigen Zeitintervalle (14: 00-16: 00 & 17: 00-18: 30):
Randnotiz : * Bitte beachten Sie die Verwendung des
-I
Schalters anstelle des-A
Schalters desiptables
Befehls. Der-I
Schalter fügt die oben genannten Regeln (3.) am Anfang (oben) der OUTPUT-Regelkette und nicht am Ende der Kette ein. Das Platzieren der manuell angehängten Regeln über den regulären Firewall-Richtlinien ist wichtig, da Regeln von oben nach unten verarbeitet werden. Wenn die obersten Regeln ein Paket AKZEPTIEREN, wird die Kette OUTPUT nicht mehr auf die folgenden Regeln überprüft, die das Paket möglicherweise fallen gelassen haben.Bitte stellen Sie sicher, dass die Regeln tatsächlich korrekt eingegeben wurden:
Um eine unangemessene Regel zu löschen, sagen Sie Regel Nr. 1 (1-basierte Anzahl von oben
iptables -v -L OUTPUT
)iptables -D OUTPUT 1
.Speichern Sie iptables für die Wiederherstellung beim nächsten Start:
in
/etc/rc.local
die Zeile anhängen:erledigt
- -
getestet auf Ubuntu 11.10 (oneiric), Gebietsschema: he
quelle
central european summer time -2 hours
.ufw
, obwohl Sie später verwendeniptables
?--kerneltz
Option ("Verwenden Sie die Kernel-Zeitzone anstelle von UTC")