3 modi per bloccare e sbloccare gli account utente in Linux
Potrebbero esserci diversi motivi per cui vorresti disabilitare un utente nel tuo ambiente Linux multiutente. Forse un dipendente ha lasciato l'organizzazione e invece di eliminare del tutto l'utente, blocca l'account a scopo di archiviazione.
In questo tutorial, ti mostrerò tre modi per bloccare un utente nella riga di comando di Linux. Parlerò anche di come sbloccare l'utente.
Tieni presente che per apportare queste modifiche è necessario o root o disponi dell'accesso come root tramite sudo .
Metodo 1:bloccare e sbloccare gli utenti con il comando passwd
Il comando passwd in Linux si occupa delle password di un account utente. Puoi anche usare questo comando per bloccare un account utente.
Il comando funziona fondamentalmente sul file /etc/passwd. Puoi modificare manualmente questo file ma ti sconsiglio.
Per bloccare un utente con il comando passwd, puoi usare l'opzione -l o –lock in questo modo:
passwd -l user_name
Verifica lo stato di un utente con il comando passwd
Puoi sapere se un utente è bloccato o sbloccato usando l'opzione -S o –status of passwd comando.
passwd -S nome_utente
Guarda il secondo campo nell'output. Ecco cosa significa:
– P o PS:password impostata (l'utente è sbloccato)
– L o LK:l'utente è bloccato
– N o NP:non è necessaria alcuna password per l'utente
Ecco un esempio di output del comando passwd:
standard P 14/10/2019 0 99999 7 -1
Per sbloccare l'utente con il comando passwd, puoi usare l'opzione -u o –unlock:
passwd -u user_name
Su Ubuntu, vedrai un output come questo sia per bloccare che per sbloccare l'utente:
passwd: password expiry information changed
E l'accesso tramite SSH?
C'è un grosso problema con il blocco degli utenti in questo modo. Poiché funziona solo con il file /etc/passwd, l'utente bloccato sarà comunque in grado di accedere tramite chiavi SSH (se è impostato l'accesso tramite chiave SSH). Ti mostrerò come affrontarlo nella prossima sezione.
Metodo 2:bloccare e sbloccare gli utenti con il comando usermod
Puoi anche usare il comando usermod. Il comando viene utilizzato principalmente per modificare gli account utente in Linux. Puoi anche modificare lo stato di un utente bloccandolo o sbloccandolo con usermod.
Per bloccare l'utente, puoi utilizzare l'opzione -L in questo modo:
usermod -L user_name
Per sbloccare l'utente, puoi utilizzare l'opzione -U:
usermod -U user_name
Come si verifica se l'utente è bloccato o meno? Il comando usermod funziona anche sul file /etc/passwd, quindi puoi usare il comando passwd -S nome_utente per controllare lo stato dell'utente.
Ma usermod funziona anche con il file /etc/passwd, quindi questo significa che l'utente bloccato potrebbe ancora essere in grado di accedere tramite chiavi SSH, giusto? Giusto. Ma ci sono modi per superare questo problema.
Ad esempio, puoi cambiare la shell dell'utente in nologin e questo non consentirà all'utente di accedere a una shell.
Un altro metodo consiste nel bloccare l'utente e fornire una data scaduta nel passato. Quello che fa è che disabilita l'account in una data passata e poi lo blocca.
Assicurati che la data passata sia compresa tra il 02-01-1970 e la data corrente.
usermod -L --expiredate 1970-01-02 user_name
Puoi invertirlo con questo comando:
usermod -U --expiredate '' user_name
Esiste un modo simile per bloccare l'utente in Linux con il comando chage. Vediamolo nella prossima sezione.
Metodo 3:bloccare e sbloccare gli utenti con il comando chage
Il comando chage viene utilizzato per modificare le informazioni sulla scadenza della password dell'utente. Può essere utilizzato per bloccare automaticamente un utente inattivo dopo un certo numero di giorni di inattività.
Fondamentalmente quello che hai fatto con il comando usermod nella sezione precedente può essere ottenuto con un comando chage come questo:
chage -E 1 username
Fondamentalmente, hai impostato la data di scadenza su 1970-01-02. Puoi vedere i dettagli in questo modo:
[email protected]:~$ sudo chage -l standard
Last password change : Nov 07, 2019
Password expires : never
Password inactive : never
Account expires : Jan 02, 1970
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Puoi rimuovere la data di scadenza e quindi sbloccare l'utente in questo modo:
chage -E -1 username
Alla fine...
Come sempre, ci sono vari modi per eseguire un'attività nella riga di comando di Linux. Ho mostrato qui tre metodi per bloccare e sbloccare gli utenti in Linux. Conosci un modo migliore o hai qualche suggerimento di best practice per bloccare gli utenti? Condividilo nella sezione commenti.