Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
tutoriel:restrictions_horaires [Le 05/01/2013, 17:26]
83.153.21.208 [Activer les Restrictions Horaires via le Module PAM]
tutoriel:restrictions_horaires [Le 10/05/2018, 18:48]
bcag2 [Expiration d'une Session] FIXME skill obsolète
Ligne 1: Ligne 1:
-{{tag>​sécurité tutoriel}}+{{tag>​sécurité tutoriel ​pam}}
 ---- ----
  
Ligne 6: Ligne 6:
  
 Avec Ubuntu Linux, il est possible d'​affecter à votre ordinateur des **restrictions horaires**, afin d'​empêcher la connexion d'un ou plusieurs utilisateurs à votre système. Avec Ubuntu Linux, il est possible d'​affecter à votre ordinateur des **restrictions horaires**, afin d'​empêcher la connexion d'un ou plusieurs utilisateurs à votre système.
-Grâce aux restrictions horaires, vous pourrez, par exemple, limiter l'​accès à l'​ordinateur pour vos enfants (une sorte de [[comment_mettre_en_place_un_controle_parental|Contrôle Parental]], en somme), ou bien encore protéger la connexion à votre serveur durant certaines heures.+Grâce aux restrictions horaires, vous pourrez, par exemple, limiter l'​accès à l'​ordinateur pour vos enfants (une sorte de [[:tutoriel:comment_mettre_en_place_un_controle_parental|Contrôle Parental]], en somme), ou bien encore protéger la connexion à votre serveur durant certaines heures.
  
 2 grandes orientations s'​offrent à vous: 2 grandes orientations s'​offrent à vous:
Ligne 15: Ligne 15:
  
 Pour utiliser une interface graphique, consulter la page sur le logiciel [[:​timekpr]]. Pour utiliser une interface graphique, consulter la page sur le logiciel [[:​timekpr]].
 +
 +===== Configuration semi-automatique par script =====
 +
 +
 +Le script **CTparental** que l'on retrouve dans la page de documentation [[:​tutoriel:​comment_mettre_en_place_un_controle_parental#​dnsmasq_et_blackliste_de_l_universite_de_toulouse|comment mettre en place un contrôle parental]]
 +se base sur les principes décrits dans la partie **Configuration manuelle**, mais automatise toutes les étapes.
 +
 +Une fois le script installé il vous suffira de lancer :
 +  sudo CTparental -off  # si vous ne voulez pas du filtrage sur Internet.
 +
 +puis :
 +
 +  sudo CTparental -tlo  # pour paramétrer les plages horaires de connexion de chaque usager. Attention à bien se laisser un compte en accès H24 7/7
 +
  
 ===== Configuration manuelle ===== ===== Configuration manuelle =====
Ligne 30: Ligne 44:
 chsh  common-password ​ cupsys ​         gnome-screensaver ​ passwd ​ su chsh  common-password ​ cupsys ​         gnome-screensaver ​ passwd ​ su
 </​code>​ </​code>​
-Si nous souhaitons bloquer la connexion à l'​ordinateur,​ nous allons devoir modifier le service ​[[:gdm]] (ou [[:​lightdm]] ​selon la verion d'​ubuntu). [[:​tutoriel:​comment_editer_un_fichier|Editez donc le fichier]] ​''​gdm''​ (ou ''​lightdm''​...) et ajoutez-y cette ligne de code (à la fin du fichier) : +Si nous souhaitons bloquer la connexion à l'​ordinateur,​ nous allons devoir modifier le service [[:​lightdm]]. [[:​tutoriel:​comment_editer_un_fichier|Editez donc le fichier]] ​ ''​lightdm''​ et ajoutez-y cette ligne de code (à la fin du fichier) : 
-<code>+<file>
 account required pam_time.so account required pam_time.so
-</code+</file
-GDM est l'​écran de connexion des distributions Ubuntu, Edubuntu et Xubuntu. Pour Kubuntu, qui utilise KDE, le service se nomme **kdm**, ce sera donc ce fichier qu'il faudra ouvrir.\\+Si vous utilisez ​**kdm**, ce sera donc ce fichier qu'il faudra ouvrir.\\
 Et voilà, c'est terminé pour la configuration du module PAM ! Cela aura pour effet d'​activer le contrôle des heures sur ce service . Et voilà, c'est terminé pour la configuration du module PAM ! Cela aura pour effet d'​activer le contrôle des heures sur ce service .
-<note important>​Si vous possédez un serveur, vous ne disposez sûrement pas d'​interface graphique. Auquel cas, GDM/​KDM ​n'est pas installé et la connexion ne sera pas bloquée. Pour empêcher la connexion aux [[:TTY]], il faut modifier le fichier ''​login''​ du même dossier, et y ajouter la même ligne de code que celle précedemment ​citée.+<note important>​Si vous possédez un serveur, vous ne disposez sûrement pas d'​interface graphique. Auquel cas, Lightdm ​n'est pas installé et la connexion ne sera pas bloquée. Pour empêcher la connexion aux [[:TTY]], il faut modifier le fichier ''​login''​ du même dossier, et y ajouter la même ligne de code que celle précédemment ​citée.
 Cette manipulation est également valable pour les personnes qui ont installé une interface graphique et qui souhaitent bloquer l'​accès à l'​écran de connexion ainsi qu'aux terminaux.</​note>​ Cette manipulation est également valable pour les personnes qui ont installé une interface graphique et qui souhaitent bloquer l'​accès à l'​écran de connexion ainsi qu'aux terminaux.</​note>​
  
Ligne 109: Ligne 123:
  
 ==== Expiration d'une Session ==== ==== Expiration d'une Session ====
-Lorsqu'​une Session arrive à expiration (qu'​elle dépasse la limite horaire alors que l'​utilisateur est déjà connecté), le module PAM ne peut atteindre l'​utilisateur concerné. En effet, si ''​mathilde''​ se connecte pendant les horaires de temps autorisées,​ elle est tout à fait libre de dépasser ces plages horaires ! Pour cela, nous allons utiliser un nouveau programme : [[:cron]]. Cette application exécute des commandes à des intervalles de temps données. Dans notre cas, nous allons faire usage de la commande ''​skill -KILL -u''​ pour déconnecter l'​utilisateur lorsque la Session expire. \\ +Lorsqu'​une Session arrive à expiration (qu'​elle dépasse la limite horaire alors que l'​utilisateur est déjà connecté), le module PAM ne peut atteindre l'​utilisateur concerné. En effet, si ''​mathilde''​ se connecte pendant les horaires de temps autorisées,​ elle est tout à fait libre de dépasser ces plages horaires ! Pour cela, nous allons utiliser un nouveau programme : [[:cron]]. Cette application exécute des commandes à des intervalles de temps données. Dans notre cas, nous allons faire usage de la commande ''​skill -KILL -u'' ​FIXME (man skill sous [[:​xenial]]:​ "These tools are obsolete and unportable"​ => kill) pour déconnecter l'​utilisateur lorsque la Session expire. \\ 
 La Manipulation est très simple. [[:​tutoriel:​comment_editer_un_fichier|Editez simplement le fichier]] ''/​etc/​crontab''​. Ajoutez-y alors la ligne de code suivante : La Manipulation est très simple. [[:​tutoriel:​comment_editer_un_fichier|Editez simplement le fichier]] ''/​etc/​crontab''​. Ajoutez-y alors la ligne de code suivante :
 <​code>​ <​code>​
Ligne 143: Ligne 157:
 15 22    * * sat,​sun ​              ​root ​   skill -KILL -u pierre && skill -KILL -u franck && skill -KILL -u florian 15 22    * * sat,​sun ​              ​root ​   skill -KILL -u pierre && skill -KILL -u franck && skill -KILL -u florian
 </​code>​ </​code>​
-<​note>​La commande ''​skill -KILL -u''​ déconnecte l'​utilisateur de l'​interface graphique, mais aussi des TTY. Elle est donc parfaitement utilisable pour les administrateurs de serveur.\\ Cependant, cette commande est immédiate et la déconnection ​sera faite sans avertissement. Il serait donc préférable de prévenir de l'​installation de ce dispositif les utilisateurs de l'​ordinateur ou du réseau en question !</​note>​+<​note>​La commande ''​skill -KILL -u''​ déconnecte l'​utilisateur de l'​interface graphique, mais aussi des TTY. Elle est donc parfaitement utilisable pour les administrateurs de serveur.\\ Cependant, cette commande est immédiate et la déconnexion ​sera faite sans avertissement. Il serait donc préférable de prévenir de l'​installation de ce dispositif les utilisateurs de l'​ordinateur ou du réseau en question !</​note>​
  
 Il est possible de prévenir les utilisateurs avec une commande wall lancée par cron quelques minutes avant la fin de la plage horaire, qui sera affichée dans les terminaux de tous les utilisateurs. Il est possible de prévenir les utilisateurs avec une commande wall lancée par cron quelques minutes avant la fin de la plage horaire, qui sera affichée dans les terminaux de tous les utilisateurs.
  • tutoriel/restrictions_horaires.txt
  • Dernière modification: Le 11/09/2022, 12:20
  • par moths-art