Maison > Tutoriel système > Linux > le corps du texte

Introduction de méthodes de déconnexion automatique sous Linux pour empêcher les utilisateurs d'être inactifs pendant de longues périodes

王林
Libérer: 2024-01-04 16:38:16
avant
1372 Les gens l'ont consulté

Imaginons un tel scénario. Vous disposez d'un serveur auquel de nombreux utilisateurs accèdent fréquemment à partir de différents systèmes du réseau. Il est possible que certains utilisateurs oublient de se déconnecter de la session en laissant celle-ci ouverte. Nous savons tous à quel point il est dangereux de laisser une session utilisateur connectée. Certains utilisateurs peuvent l'utiliser pour faire intentionnellement des choses qui endommagent le système. Et vous, en tant qu'administrateur système, irez-vous sur chaque système pour vérifier si l'utilisateur s'est déconnecté ? En fait, c’est totalement inutile. Et s’il y a des centaines ou des milliers de machines sur le réseau, cela prend trop de temps. Cependant, vous pouvez demander aux utilisateurs de se déconnecter automatiquement s'ils sont inactifs sur la machine ou sur la session SSH pendant un certain temps. Ce tutoriel vous apprendra comment procéder sur un système de type Unix. Ce n'est pas difficile du tout. Fais-le avec moi.

Mise en œuvre de la déconnexion automatique des utilisateurs inactifs après un certain temps sous Linux
Il existe trois façons d’y parvenir. Examinons d'abord la première méthode.

Méthode 1 :

Modifiez le fichier ~/.bashrc ou ~/.bash_profile :

$ vi ~/.bashrc
Copier après la connexion

ou,

$ vi ~/.bash_profile
Copier après la connexion

Ajoutez-y les lignes suivantes :

TMOUT=100
Copier après la connexion

Cela déconnectera automatiquement l'utilisateur après 100 secondes d'inactivité. Vous pouvez définir cette valeur selon vos besoins. Enregistrez et fermez le fichier.

Exécutez la commande suivante pour que les modifications prennent effet :

$ source ~/.bashrc
Copier après la connexion

ou,

$ source ~/.bash_profile
Copier après la connexion

Maintenant, laissez la session inactive pendant 100 secondes. Après 100 secondes d'inactivité, vous verrez le message ci-dessous et l'utilisateur se déconnectera automatiquement de la session.

timed out waiting for input: auto-logout
Connection to 192.168.43.2 closed.
Copier après la connexion

Ce paramètre peut être facilement modifié par l'utilisateur. Parce que le fichier ~/.bashrc appartient à l'utilisateur lui-même.

Pour modifier ou supprimer le paramètre de délai d'attente, supprimez simplement la ligne ajoutée ci-dessus et exécutez la commande source ~/.bashrc pour que la modification prenne effet.

De plus, les utilisateurs peuvent également exécuter la commande suivante pour désactiver le délai d'attente :

$ export TMOUT=0
Copier après la connexion

ou,

$ unset TMOUT
Copier après la connexion

Si vous souhaitez empêcher les utilisateurs de modifier ce paramètre, utilisez plutôt la méthode suivante.

Méthode 2 :
Connectez-vous en tant qu'utilisateur root.

Créez un nouveau fichier appelé autologout.sh.

# vi /etc/profile.d/autologout.sh
Copier après la connexion

Ajoutez ce qui suit :

TMOUT=100
readonly TMOUT
export TMOUT
Copier après la connexion

Enregistrez et quittez le fichier.

Ajoutez-y des autorisations exécutables :

# chmod +x /etc/profile.d/autologout.sh
Copier après la connexion

Maintenant, déconnectez-vous ou redémarrez le système. Les utilisateurs inactifs seront automatiquement déconnectés après 100 secondes. Les utilisateurs ordinaires ne peuvent pas modifier cette configuration même s'ils souhaitent conserver la connexion de session. Ils forceront l'arrêt après 100 secondes.

Les deux méthodes fonctionnent à la fois pour les sessions locales et distantes (c'est-à-dire les utilisateurs connectés localement et les utilisateurs connectés via SSH sur le système distant). Voyons comment se déconnecter automatiquement uniquement des sessions SSH inactives sans se déconnecter automatiquement des sessions locales.

Méthode 3 :
De cette façon, l’utilisateur de la session SSH ne se déconnectera automatiquement qu’après une période d’inactivité.

Modifier le fichier /etc/ssh/sshd_config :

$ sudo vi /etc/ssh/sshd_config
Copier après la connexion

Ajoutez/modifiez les lignes suivantes :

ClientAliveInterval 100
ClientAliveCountMax 0
Copier après la connexion

Enregistrez et quittez le fichier. Redémarrez le service sshd pour que les modifications prennent effet.

$ sudo systemctl restart sshd
Copier après la connexion

Maintenant, connectez-vous au système distant via ssh. Après 100 secondes, la session ssh se fermera automatiquement et vous verrez le message suivant :

$ Connection to 192.168.43.2 closed by remote host.
Connection to 192.168.43.2 closed.
Copier après la connexion

Désormais, toute personne qui se connecte à ce système via SSH à partir d'un système distant se déconnectera automatiquement après 100 secondes d'inactivité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal