GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déconnecter automatiquement les utilisateurs inactifs après une période de temps sous Linux

Ce bref didacticiel explique trois façons différentes de déconnecter automatiquement les utilisateurs inactifs après une période donnée dans les systèmes Linux et de type Unix.

Imaginez ce scénario. Vous gérez un serveur partagé auquel de nombreux utilisateurs accèdent régulièrement à partir de tous les systèmes du réseau.

Il y a des chances qu'un utilisateur oublie de se déconnecter de sa session et laisse la session ouverte. Laisser une session utilisateur ouverte est dangereux et certains utilisateurs peuvent en abuser intentionnellement.

Souhaitez-vous vérifier manuellement chaque système pour vérifier si les utilisateurs se sont déconnectés ou non ? Ce n'est pas nécessaire! De plus, cela prend beaucoup de temps s'il y a des centaines de machines dans votre réseau.

Au lieu de cela, vous pouvez obliger un utilisateur à se déconnecter automatiquement d'une session locale ou SSH après une période d'inactivité particulière.

Déconnexion automatique des utilisateurs inactifs sous Linux

Nous pouvons déconnecter automatiquement les sessions utilisateur inactives après un certain temps de trois manières. Voyons la première méthode.

Méthode 1 :

Modifier ~/.bashrc ou ~/.bash_profile fichier :

$ nano ~/.bashrc

Ou,

$ nano ~/.bash_profile

Ajoutez la ligne suivante à la fin :

TMOUT=100

Configurer la valeur du délai d'expiration de l'utilisateur sous Linux

Cela oblige l'utilisateur à se déconnecter automatiquement après une inactivité de 100 secondes. Vous pouvez définir cette valeur selon votre convenance. Appuyez sur ESC et tapez :wq pour enregistrer le fichier et le fermer.

Appliquez les modifications en exécutant la commande suivante :

$ source ~/.bashrc

Ou,

$ source ~/.bash_profile

Maintenant, laissez la session inactive pendant 100 secondes. Après une inactivité de 100 secondes, vous verrez le message suivant et l'utilisateur sera automatiquement déconnecté de la session.

timed out waiting for input: auto-logout
Connection to 192.168.122.181 closed.

Déconnexion automatique des utilisateurs inactifs sous Linux

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

Pour modifier ou supprimer les paramètres de délai d'attente, supprimez simplement les lignes ajoutées ci-dessus et appliquez les modifications en exécutant la commande suivante :

$ source ~/.bashrc

Alternativement, l'utilisateur peut le désactiver en exécutant les commandes suivantes :

$ export TMOUT=0

Ou,

$ unset TMOUT

Étant donné que le paramètre de délai d'attente est stocké dans le ~/.bashrc appartenant à l'utilisateur fichier, il peut facilement le contourner en supprimant simplement la ligne. Si vous souhaitez empêcher l'utilisateur de modifier les paramètres, suivez la deuxième méthode.

Méthode 2 :

Connectez-vous en tant que root utilisateur.

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

# vi /etc/profile.d/autologout.sh

Ajoutez les lignes suivantes :

TMOUT=100
readonly TMOUT
export TMOUT

Enregistrez et fermez le fichier.

Rendez-le exécutable à l'aide de la commande :

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

Déconnectez-vous ou redémarrez votre système pour que les modifications prennent effet.

L'utilisateur inactif sera automatiquement déconnecté après 100 secondes. L'utilisateur normal ne peut pas modifier ces paramètres même s'il souhaite rester connecté à la session. Ils seront jetés exactement après 100 secondes.

Ces deux méthodes s'appliquent à la fois à la session locale et à la session distante, c'est-à-dire les utilisateurs connectés localement ou les utilisateurs connectés à partir d'un système distant via SSH.

Dans la méthode suivante, nous allons voir comment déconnecter automatiquement uniquement les sessions SSH inactives, pas les sessions locales.

Méthode 3 :

Dans cette méthode, nous obligerons uniquement les utilisateurs de la session SSH à se déconnecter après une certaine période d'inactivité.

Modifier /etc/ssh/sshd_config fichier :

$ sudo vi /etc/ssh/sshd_config

Ajoutez/modifiez les lignes suivantes :

ClientAliveInterval 100
ClientAliveCountMax 0

Appuyez sur ESC clé et tapez :wq pour enregistrer et fermer ce fichier. Redémarrez le service sshd pour appliquer les modifications.

$ sudo systemctl restart sshd

Maintenant, connectez-vous en ssh à ce système à partir d'un système distant. Après 100 secondes, la session ssh sera automatiquement fermée et vous verrez le message suivant :

$ Connection to 192.168.122.181 closed by remote host.
Connection to 192.168.122.181 closed.

Désormais, toute personne accédant à ce système depuis un système distant via SSH sera automatiquement déconnectée après une inactivité de 100 secondes.


Linux
  1. Comment ajouter des utilisateurs à un groupe sous Linux

  2. Comment créer plusieurs comptes d'utilisateurs sous Linux

  3. Comment trouver tous les utilisateurs de Sudo sous Linux

  4. Comment gérer les utilisateurs avec useradd sous Linux

  5. Comment travailler avec des utilisateurs et des groupes sous Linux

Comment installer l'application Web de suivi du temps Kimai sous Linux

Comment changer d'utilisateur sous Linux

Déconnecter automatiquement les utilisateurs inactifs du système Linux

Comment déconnecter un utilisateur de SSH sous Linux

Comment créer et gérer de nouveaux utilisateurs sous Linux

Comment créer/ajouter des utilisateurs sous Linux