Les utilisateurs d'Ubuntu <= 11.10 suivent ce guide pour les utilisateurs d'Ubuntu >= 11.10 lisez la page de bas de page avis :
Oui, tous ces programmes sont obsolètes et toutes vos questions trouvent réponse ici. Bonne chance avec votre contrôle parental......
Lorsque nous parlons de forcer un utilisateur à se déconnecter, il s'agit en fait de mettre en place des restrictions temporelles sur le compte pour l'accès au système ou aux services. Le moyen le plus simple que j'ai trouvé pour mettre en place des restrictions de temps est d'utiliser un module plug-in appelé Linux-PAM .
Module d'authentification enfichable (PAM) est un mécanisme d'authentification des utilisateurs. Plus précisément, nous allons utiliser l'option pam_time
pour contrôler les accès temporaires des utilisateurs aux services.
Utilisation de la pam_time
nous pouvons définir des restrictions d'accès à un système et/ou à des applications spécifiques à différentes heures de la journée ainsi qu'à des jours spécifiques ou sur différentes lignes terminales. Selon la configuration, vous pouvez utiliser ce module pour refuser l'accès à des utilisateurs individuels en fonction de leur nom, de l'heure de la journée, du jour de la semaine, du service qu'ils demandent et du terminal à partir duquel ils font leur demande.
Lorsque vous utilisez pam_time
vous devez mettre fin à la syntaxe de chaque ligne (ou règle) dans la section /etc/security/time.conf
avec une nouvelle ligne. Vous pouvez commenter chaque ligne avec le signe dièse [#], et le système ignorera ce texte jusqu'à la nouvelle ligne.
Voici la syntaxe d'une règle :
services;ttys;utilisateurs;temps
The first field — services — is a logic list of PAM service names.
The second field — tty — is a logic list of terminal names.
The third field — users — is a logic list of users or a netgroup of users.
The fourth field — times — indicates the applicable times.
Voici un exemple d'un ensemble typique de règles :
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
Ces règles empêchent l'utilisateur Bobby de se connecter entre 8 heures et 20 heures, et limitent également l'accès à Internet pendant ces heures. Root pourrait se connecter à tout moment et naviguer sur Internet à tout moment également.
Note : Le système enregistre les erreurs avec ces règles comme syslog(3).
Avec Ubuntu Linux, il est possible d'attribuer à votre ordinateur des restrictions temporelles, afin d'empêcher la connexion d'un ou plusieurs utilisateurs à votre système. Avec les restrictions horaires, vous pouvez, par exemple, limiter l'accès à l'ordinateur pour vos enfants. (une sorte de contrôle parental, en somme) ou même de protéger la connexion à votre serveur pendant certaines heures.
Configuration manuelle
Comprendre ce que vous allez faire
Tout au long de ce tutoriel, nous utiliserons PAM (Pluggable Authentication Modules, en anglais). Il permet de contrôler l'authentification des utilisateurs lors de leur connexion. Ensuite, nous utiliserons les fichiers de configuration de sécurité pour définir les heures de connexion autorisées. Ces manipulations peuvent être effectuées sur n'importe quelle version d'Ubuntu, et ne nécessitent qu'un simple éditeur de texte (vim, emacs, nano, gedit, kate, pour en citer quelques-uns). Activer les heures de restriction via le module PAM
Tout d'abord, allez dans le /etc/pam.d/
où se trouvent tous les services configurables :
$ Ls /etc/pam.d/
atd common-account common-session gdm login ppp sudo
chfn common-auth cron gdm-autologin Other samba
chsh common-cupsys gnome-screensaver password passwd su
Si nous voulons bloquer la connexion à l'ordinateur, nous devrons modifier le service gdm. Editez le fichier so gdm et ajoutez cette ligne de code (à la fin du fichier) :
account required pam_time.so
GDM est l'écran de connexion des distributions Ubuntu, Edubuntu et Xubuntu. Pour Kubuntu, qui utilise KDE, le service kdm est appelé, ce sera le fichier qu'il ouvrira. Et voilà, vous avez terminé pour la configuration de la PAM ! Cela va permettre le contrôle des heures sur ce service.
Si vous avez un serveur, vous n'avez probablement pas d'interface graphique. Dans ce cas, GDM / KDM n'est pas installé et la connexion ne sera pas bloquée. Pour empêcher la connexion à TTY, vous devez modifier le login du même fichier, et ajouter la même ligne de code que celle reconnue précédemment. Cette action s'applique également aux personnes qui ont installé une interface graphique et qui veulent bloquer l'accès à l'écran de connexion et aux terminaux.
Configurer les heures d'accès
Maintenant que le service PAM a été activé, il ne nous reste plus qu'à configurer les temps d'accès. Ouvrez l'application /etc/security
. Plusieurs fichiers de configuration sont disponibles :
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
Modifier le fichier time.conf
. Quelques explications et exemples (anglais) présentant le . Pour définir les horaires d'accès, copiez et collez la ligne de code suivante (à la fin du fichier, comme toujours) :
*;*;user;scheduler
À la place du champ utilisateur, saisissez le compte de connexion que vous souhaitez bloquer.
Si vous voulez bloquer plusieurs utilisateurs, entrez leur login dans une rangée, séparés par l'opérateur |. Par exemple, si je veux bloquer les comptes de Patrick, John et Emily :
*;*;Patrick|jean|emilie;scheduler
Par contre, si vous voulez bloquer l'accès au système pour tous les utilisateurs mais un en particulier, utilisez le ! devant la personne concernée. Par exemple, si je veux que l'accès à l'ordinateur soit refusé à tous les utilisateurs, sauf Nicolas et Xavier :
Nicolas *;*;!|xavier;scheduler
Passons maintenant aux zones de terrain. C'est dans ce champ que la sélection des jours et des heures sera autorisée connexion possible. Vous devez d'abord spécifier le jour de la semaine, en utilisant les abréviations suivantes :
Mo : Monday Fr : Friday Wd : Sa/Su
Tu : Tuesday Sa : Saturday wk : Mo/Tu/We/Th/Fr
We : Wenesday Su : Sunday
Th : Thursday Al : All Days
Attention à ne pas confondre les abréviations Wk et Wd sont trompeuses ! particulièrement mal identifiées sur Internet : on peut facilement trouver des informations contradictoires !
Ensuite, nous précisons les délais. Celles-ci doivent être formatées en 24H, composées de 4 chiffres. Par exemple, pour restreindre de 15 h 17 à 18 h 34, nous écrivons : 1517-1834. Pour permettre à Marie de se connecter uniquement le mardi, de 15h17 à 18h34, nous obtenons le résultat suivant :
*;*;marie;Tu1517-1834
Les connexions en dehors de ces heures seront interdites. Comme pour les utilisateurs, il est possible d'utiliser les opérateurs | et ! pour indiquer plusieurs heures (le ! indique alors que toutes les heures de connexion sont autorisées, sauf celles à afficher).
Les deux étoiles (caractères de remplacement) au début de la ligne de code sont, respectivement, et les champs de services tty. Puisque vous voulez bloquer tout accès au système, il est inutile de préciser quel service ou quel tty vous voulez bloquer. Cependant, si vous voulez empêcher l'utilisation d'un service particulier, il suffit de le spécifier comme dans l'exemple suivant :
login;tty1|tty4|tty5;marie;!Wd0000-2400
Ainsi, l'utilisateur marié ne peut pas se connecter à un ATS, 4 et 5 pendant le week-end.
Quelques exemples de calendrier des restrictions
mathilde est autorisée à se connecter tous les jours de 13 h 20 à 15 h 20 et de 16 h à 20 h 30 :
*;*;mathilde;Al1320-1520|Al1600-2030
Stone, Frank et Florian sont autorisés à se connecter de 14 h à 18 h 45 en semaine, et de 14 h à 22 h 15 le week-end :
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Olive n'est jamais autorisé à se connecter. Jessica peut se connecter le mercredi de 13h00 à 16h00 :
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
2 lignes différentes, pour deux temps différents pour chaque utilisateur Expiration d'une session
Lorsqu'une session expire (elle dépasse le temps pendant lequel l'utilisateur est déjà connecté), le PAM peut joindre l'utilisateur. Si mathilde se connecte pendant les heures de temps autorisées, elle est parfaitement libre de dépasser ces heures ! Pour cela, nous allons utiliser un nouveau programme : 'cron'. Cette application exécute des commandes à intervalles de temps. Dans notre cas, nous allons utiliser la commande 'skill-KILL-u' pour déconnecter l'utilisateur lorsque la session expire. La manipulation est très simple. Il suffit de modifier le fichier '/etc/crontab'. Puis ajoutez la ligne de code suivante :
Minute Hour Day * * (s) root skill -KILL -u User
Comme précédemment, en remplaçant les horaires du champ Minute et le temps souhaité. Remplissez ensuite le jour (s) par (s) jour (s) interdit (s), ou tapez simplement un astérisque (*) pour indiquer tous les jours de la semaine. Enfin, modifiez le champ utilisé par le compte de connexion à bloquer, et voilà !
Les jours ne remarquent pas la même chose avec les cron
des emplois ! Voici la liste des abréviations à utiliser avec ce programme :
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
Quelques exemples de cron
emplois (avec des exemples de temps dans la section précédente)
jessica peut se connecter le mercredi de 13h00 à 16h00.
-> Déconnexion : Mardi à 16 heures.
00 16 * root * wed skill -KILL -u jessica
mathilde est autorisée à se connecter tous les jours de 13 h 20 à 15 h 20 et de 16 h à 20 h 30.
-> Déconnexion : Tous les jours, de 20 h 30 à 15 h 20, heure de l'Est.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Stone, Frank et Florian sont autorisés à se connecter de 14 h à 18 h 45 en semaine, et de 14 h à 22 h 15 le week-end.
-> Déconnexion (1) : Lundi, mardi, mercredi, jeudi et vendredi, à 18:45. -> Déconnexion (2) : Samedi et dimanche à 22h15.
45 18 * * mon,tue,wed,thu,fri root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
15 22 * * sat,sun root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
La commande skill-KILL-u déconnecte l'utilisateur de l'interface graphique, ainsi que du TTY. Elle est parfaitement utilisable pour les administrateurs de serveurs. Cependant, cette commande est immédiate et la déconnexion se fera sans préavis. Il serait donc préférable d'empêcher l'installation de ce dispositif aux utilisateurs de l'ordinateur ou du réseau en question !
Il est possible d'empêcher les utilisateurs ayant un wall
lancée par cron
quelques minutes avant la fin de la cadre temporel qui sera affiché dans les terminaux de tous les utilisateurs.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Pour empêcher les utilisateurs de l'interface graphique peut être utilisé à la place de la commande murale notify-send
est dans le paquet libnotify-bin ![Install X]()
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Guide de l'utilisateur d'Ubuntu 11.10
J'ai vu des utilisateurs qui avaient des problèmes avec Pam et j'ai vu beaucoup de bogues à ce sujet alors pourquoi ? ?? c'est très simple Ubuntu 11.10 ne supporte plus GDM le nouveau gestionnaire d'affichage est lightGDM le problème est le suivant où stocker cette directive account required pam_time.so
Je pense que c'est dans /etc/pam.d/lightdm
ou /etc/pam.d/lightdm-autologin
mais le bug comment ? ??
Donc, pour faire le tour de la question, vous pouvez vérifier ces 2 fichiers journaux LightGdm :
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
ou exécuter LightGdm en mode débogage :
LightDM --debug
ou signaler un bogue :
ubuntu-bug lightdm
Je rapporte les Bugs aquí alors croisez votre doigt et attendez....