Je veux que l'un des utilisateurs (pas dans la liste sudoers) ait accès à Internet de 14h00 à 16h00 et de 17h00 à 18h30. C'est possible? Puis-je définir des intervalles de temps différents pour différents jours de la semaine?
Je veux que l'un des utilisateurs (pas dans la liste sudoers) ait accès à Internet de 14h00 à 16h00 et de 17h00 à 18h30. C'est possible? Puis-je définir des intervalles de temps différents pour différents jours de la semaine?
Réponses:
Vous pouvez utiliser l' owner
extension d' iptables pour empêcher un utilisateur d'accéder au net, comme
sudo iptables -A OUTPUT -m owner --uid-owner user_you_want_to_block -j REJECT
Vous pouvez maintenant utiliser cron pour ajouter ou supprimer ces règles (qui peuvent nécessiter un peu de script shell si vous avez déjà des règles iptables ou si vous le souhaitez pour différents utilisateurs à des moments différents).
-j REJECT --reject-with <argument>
t-il?
connectez-vous en tant que root:
sudo su
vérifiez l'état de votre pare-feu:
ufw status
si le pare-feu est inactif , lancez:
ufw enable
afin de restreindre l' accès Internet de l' utilisateur wilhelm les dimanches, mardis, mercredis et vendredis aux intervalles de temps autorisés (14: 00-16: 00 & 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
note latérale : * veuillez noter l'utilisation du -I
commutateur plutôt que le -A
commutateur de la iptables
commande. le -I
commutateur insère les règles susmentionnées (3.) au début (en haut) de la chaîne de règles OUTPUT plutôt qu'en bas de la chaîne. Il est important de placer les règles ajoutées manuellement au-dessus des stratégies de pare-feu standard, car les règles sont traitées de haut en bas. si le plus grand nombre de règles ACCEPTE un paquet, la chaîne, OUTPUT, n'est plus vérifiée pour les règles suivantes qui auraient pu DROPper le paquet.
veuillez vous assurer que les règles ont bien été correctement saisies:
iptables -L OUTPUT
Afin de supprimer une règle inappropriée, disons la règle n ° 1, (nombre basé sur 1 à partir du haut iptables -v -L OUTPUT
) iptables -D OUTPUT 1
.
enregistrer iptables pour la restauration au prochain démarrage:
iptables-save > /etc/iptables.rules
en /etc/rc.local
annexe la ligne:
iptables-restore < /etc/iptables.rules
terminé
-
testé sur Ubuntu 11.10 (oneiric), locale: he
central european summer time -2 hours
.
ufw
même si vous l'utilisez plus tard iptables
?
--kerneltz
option ("Utiliser le fuseau horaire du noyau au lieu de UTC")