Ubuntu & lt; = 11.10 Les utilisateurs suivent ce guide pour les utilisateurs d'Ubuntu & gt; = 11.10 Lisez l'avis de la page du bas:
Oui, tous ces programmes sont obsolètes et toutes vos questions ont reçu une réponse ici et une bonne vue de votre parent de contrôle .....
Lorsque nous parlons de forcer un utilisateur à fermer sa session, nous parlons en fait d'implémenter des restrictions de temps sur le compte pour l'accès au système ou les services. La manière la plus simple de mettre en œuvre des restrictions de temps consiste à utiliser un module de plug-in appelé Linux-PAM .
Le module d’authentification enfichable (PAM) est un mécanisme d’authentification des utilisateurs. Plus précisément, nous allons utiliser le module pam_time
pour contrôler l'accès temporisé des utilisateurs aux services.
En utilisant le module pam_time
, nous pouvons définir des restrictions d'accès à un système et / ou à des applications spécifiques à différents moments de la journée, ainsi que sur des jours spécifiques ou sur différentes lignes de terminal. Selon la configuration, vous pouvez utiliser ce module pour refuser l'accès aux utilisateurs individuels en fonction de leur nom, de l'heure, du jour de la semaine, du service demandé et de leur terminal à partir duquel ils font la demande. .
Lorsque vous utilisez pam_time
, vous devez terminer la syntaxe de chaque ligne (ou règle) dans le fichier /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 0800 et 2000, et restreignent également l'accès à Internet pendant ces heures. Root pourra se connecter à tout moment et naviguer sur Internet à tout moment.
Remarque: le système enregistre les erreurs avec ces règles sous la forme syslog (3).
Avec Ubuntu Linux, il est possible d’attribuer à votre ordinateur des restrictions de temps pour empêcher la connexion d’un ou plusieurs utilisateurs à votre système. Avec les restrictions de temps, vous pouvez, par exemple, limiter l'accès à l'ordinateur à vos enfants (une sorte de contrôle parental, en bref) ou même protéger la connexion à votre serveur pendant certaines heures.
Configuration manuelle
Comprendre ce que vous allez faire
Tout au long de ce didacticiel, nous utiliserons PAM (Modules d’authentification enfichables, modules d’authentification enfichables en anglais). Il vous permet de contrôler l'authentification des utilisateurs lorsqu'ils se connectent. Nous utiliserons ensuite les fichiers de configuration de sécurité pour définir les heures d'ouverture de session autorisées.
Ces manipulations peuvent être effectuées sur n'importe quelle version d'Ubuntu et ne requièrent qu'un simple éditeur de texte (vim, emacs, nano, gedit, kate, etc.).
Activer les restrictions par le biais du module PAM
Tout d'abord, allez d'abord dans /etc/pam.d/
, où sont 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 changer le service gdm. Editez le fichier si gdm et ajoutez cette ligne de code (à la fin du fichier):
account required pam_time.so
GDM correspond aux distributions d’écran de connexion Ubuntu, Edubuntu et Xubuntu. Pour Kubuntu, qui utilise KDE, le service kdm est appelé, ce sera le fichier qu'il va ouvrir.
Et vous avez fini de configurer le PAM! Cela permettra 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 précédemment reconnue. Cette action s’applique également aux personnes ayant installé une interface graphique et souhaitant bloquer l’accès à l’écran de connexion et aux terminaux.
Configurer les heures d’accès
Maintenant que le service PAM est activé, il suffit de configurer les temps d’accès. Ouvrez le /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
Modifiez le fichier time.conf
. Quelques explications et exemples (anglais) présentant le. Pour définir des planifications d'accès, copiez et collez la ligne de code suivante (à la fin du fichier, comme toujours):
*;*;user;scheduler
Au lieu du champ utilisateur, entrez le compte de connexion que vous souhaitez bloquer.
Si vous souhaitez bloquer plusieurs utilisateurs, saisissez leur identifiant à la suite, séparés par | opérateur. Par exemple, si je veux geler 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 sauf un, utilisez le! devant la personne concernée.
Par exemple, si je souhaite que l’accès à l’ordinateur soit refusé à tous les utilisateurs, sauf Nicolas et Xavier:
Nicolas *;*;!|xavier;scheduler
Passons maintenant aux zones de champ. Dans ce champ, la sélection des jours et des heures sera autorisée.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
Faites attention à ne pas confondre les abréviations Wk et Wd sont trompeuses! particulièrement mal identifiées sur Internet: vous pouvez facilement trouver des informations contradictoires!
Ensuite, nous spécifions les délais. Celles-ci doivent être formatées 24H, composées de 4 chiffres. Par exemple, limiter 15h17 à 18h34, nous écrivons: 1517-1834.
Permettre à Marie de se connecter uniquement le mardi, à partir de 15h17 à 18h34, nous obtenons le résultat:
*;*;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 fois (le! indique alors que toutes les heures de connexion sont autorisées, sauf celles à afficher).
Les deux étoiles (caractères génériques) au début de la ligne de code sont respectivement les champs tty services. Puisque vous voulez bloquer tout accès au système, il est inutile de spécifier quel service ou quel terminal vous souhaitez bloquer.
Toutefois, si vous souhaitez empêcher l'utilisation d'un service particulier, spécifiez-le simplement comme suit:
login;tty1|tty4|tty5;marie;!Wd0000-2400
Ainsi, l’utilisateur 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 à partir de 13h20 à 15h20 et à partir de 16h00 à 20h30:
*;*;mathilde;Al1320-1520|Al1600-2030
Stone, Frank et Florian sont autorisés à se connecter à 14h00 à 18h45 en semaine et à 14h00 à 22h15 pour le week-end:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
Olive n'est jamais autorisé à se connecter. Jessica peut se connecter mercredi à partir 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 que l'utilisateur est déjà connecté), le PAM peut atteindre l'utilisateur. Bien que mathilde se connecte pendant les heures autorisées, il est parfaitement libre de dépasser ces heures! Pour cela, nous utiliserons un nouveau programme:'cron '. Cette application exécute des commandes à intervalles de temps. Dans notre cas, nous utiliserons la commande'skill-KILL-u 'pour déconnecter l'utilisateur à l'expiration de la session.
La manipulation est très simple. Editez simplement le fichier '/ etc / crontab'. Ajoutez ensuite la ligne de code suivante:
Minute Hour Day * * (s) root skill -KILL -u User
Comme précédemment, en remplaçant les horaires et le temps souhaités des champs Minute. Remplissez ensuite le ou les jour (s) par 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 le tour est joué!
Les jours ne sont pas identiques avec les travaux cron
! 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 travaux cron
(avec des exemples de fois dans la section précédente)
Jessica peut se connecter mercredi à partir de 13h00 à 16h00
- & gt; Déconnecter: mardi à 16h00 ..
00 16 * root * wed skill -KILL -u jessica
mathilde est autorisée à se connecter tous les jours à partir de 13h20 à 15h20 et à partir de 16h00 à 20h30 ..
- & gt; Déconnexion: Quotidien, 20h30 à 15h20 ET.
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
Stone, Frank et Florian sont autorisés à se connecter à 14h00 à 18h45 en semaine et à 14h00 à 22h15 pour le week-end
- & gt; Déconnexion (1): lundi, mardi, mercredi, jeudi et vendredi, à 18h45.
- & gt; 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 TTY. Il est parfaitement utilisable pour les administrateurs de serveur.
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 cet appareil utilisateurs de l'ordinateur ou du réseau en question!
Il est possible d’empêcher les utilisateurs avec une commande wall
lancée par cron
quelques minutes avant la fin du délai , qui sera affichée dans les terminaux de tous les utilisateurs.
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
Pour éviter que les utilisateurs de l’interface graphique puissent être utilisés à la place de la commande murale, notify-send
se trouve dans le package libnotify-bin
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Utilisateurs d'Ubuntu 11.10
J'ai vu des utilisateurs avoir des problèmes avec Pam et j'ai vu beaucoup de bugs à ce sujet alors pourquoi est-ce la raison ??? est si simple que 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 est dans /etc/pam.d/lightdm
ou /etc/pam.d/lightdm-autologin
mais bogue comment ???
donc juste pour vous pouvez vérifier ces 2 fichiers journaux LightGdm:
- /var/log/lightdm/lightdm.log
- / var / log / lightdm / x-0.log
ou lancez LightGdm en mode débogage:
LightDM --debug
ou signaler un bogue:
ubuntu-bug lightdm
Je signale que le bogue "ici , alors passez votre doigt et attendez ....