GNU/Linux >> Linux Esercitazione >  >> Linux

Disconnetti automaticamente gli utenti inattivi dal sistema Linux

Mantenere sessioni di shell inattive su un server Linux può rappresentare un rischio per la sicurezza. Per non dimenticare che consumerebbe risorse di sistema.

Ok, forse non una singola sessione inattiva, ma immagina se più utenti accedono allo stesso sistema Linux in remoto e lasciano le loro sessioni inattive.

Come amministratore di sistema Linux, puoi vedere quali utenti hanno effettuato l'accesso al sistema e per quanto tempo sono rimasti inattivi.

Puoi espellere manualmente l'utente inattivo, ma è noioso e certamente non molto produttivo.

Lascia che ti mostri come disconnettere automaticamente gli utenti inattivi dalla loro shell.

Metodo 1:utilizzare TMOUT per disconnettere automaticamente gli utenti dalle sessioni di shell inattive

In bash e in altre shell, puoi usare TMOUT variabile per impostare il tempo di disconnessione inattiva. Se non ci sono attività da parte dell'utente per questo periodo di tempo, la sessione della shell verrà chiusa.

Verificare se il TMOUT è già impostato. I valori sono in secondi.

echo $TMOUT

Per testare, puoi usarlo in questo modo:

TMOUT=300

Questo chiuderà la sessione del terminale o la sessione SSH dopo 300 secondi, ovvero 5 minuti.

Per le sessioni SSH, dovresti vedere un messaggio come questo:

[email protected]:~# timed out waiting for input: auto-logout
Connection to 212.125.89.175 closed.

Per le sessioni locali, il tuo terminale dovrebbe essere chiuso automaticamente.

Ma probabilmente sai già che non è il modo migliore per impostare una variabile di ambiente. Puoi impostarlo nel profilo del singolo utente (o nel profilo bash) o impostarlo per tutti gli utenti, a livello di sistema, da /etc/profile.

Supponendo che tu sia un amministratore di sistema e desideri disconnettere automaticamente gli utenti inattivi sul tuo server Linux, impostalo a livello di sistema.

Apri il file /etc/profile in un editor di testo come Vim o Nano:

nano /etc/profile

E aggiungi la seguente riga:

TMOUT=300

Salva e chiudi il file. D'ora in poi, qualsiasi utente con 5 minuti di inattività verrà disconnesso automaticamente.

Funziona sia per le sessioni locali che remote. Se vuoi impostarlo solo per le sessioni SSH, il prossimo metodo è quello che potresti usare.

Metodo 2:disconnette automaticamente gli utenti dalle sessioni SSH inattive

Puoi configurare il server SSH per forzare la disconnessione di un utente dopo un determinato periodo di inattività.

Modifica il file di configurazione SSH (/etc/ssh/sshd_config):

sudo nano /etc/ssh/sshd_config

Cerca le seguenti due variabili e rimuovi il # prima della loro riga iniziale e imposta valori come questo:

ClientAliveInterval 200
ClientAliveCountMax 3

Salva e chiudi il file.

Ciò significa che il server invierà un messaggio keep alive al client ogni 200 secondi per 3 volte. Se non riceve risposta (il che significa che l'utente è inattivo), chiuderà la sessione a 600 secondi (200*3).

Puoi scegliere i valori adatti in base alle tue esigenze.

Questo è solo un metodo SSH e non influirà sulle sessioni della shell locale.

Spero che tu possa trovare utile questo suggerimento Linux sulla disconnessione automatica degli utenti. Iscriviti per ulteriori suggerimenti per l'amministratore di sistema Linux.


Linux
  1. mimipenguin – Scarica le password di accesso dagli attuali utenti Linux

  2. Cos'è POSIX? Perché è importante per gli utenti Linux/UNIX?

  3. Elimina tutte le e-mail dell'utente root da una shell in Linux

  4. Accesso a un sistema Osx remoto da Osx, Linux, Windows?

  5. Visualizzazione degli utenti del sistema in Linux

comando userdel - Elimina l'account utente dal sistema Linux

Riattiva automaticamente il tuo sistema Linux dalla modalità di sospensione o ibernazione

Come trovare gli ultimi utenti che hanno effettuato l'accesso in Linux

Come disconnettersi automaticamente dagli utenti inattivi dopo un periodo di tempo in Linux

Gli effetti dell'aggiunta di utenti a un sistema Linux

Come installare il software dal codice sorgente nel tuo sistema Linux