Maison  >  Article  >  Tutoriel système  >  Introduction de méthodes de déconnexion automatique sous Linux pour empêcher les utilisateurs d'être inactifs pendant de longues périodes

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

王林
王林avant
2024-01-04 16:38:161270parcourir

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

ou,

$ vi ~/.bash_profile

Ajoutez-y les lignes suivantes :

TMOUT=100

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

ou,

$ source ~/.bash_profile

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.

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

ou,

$ unset TMOUT

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

Ajoutez ce qui suit :

TMOUT=100
readonly TMOUT
export TMOUT

Enregistrez et quittez le fichier.

Ajoutez-y des autorisations exécutables :

# chmod +x /etc/profile.d/autologout.sh

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

Ajoutez/modifiez les lignes suivantes :

ClientAliveInterval 100
ClientAliveCountMax 0

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

$ sudo systemctl restart sshd

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.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer