GNU/Linux >> Linux Esercitazione >  >> Linux

Trova account utente con password vuota in Linux

Il peggior tipo di password non è una password debole ma nessuna password. In qualità di amministratore di sistema, devi assicurarti che ogni account utente abbia una password complessa. Questo breve tutorial spiega come trovare account utente con password vuota in Linux.

Prima di entrare nell'argomento, facciamo un breve riepilogo di ombra file e il suo scopo.

Cos'è il file della password shadow?

Nei sistemi RHEL, le password degli utenti vengono sottoposte a hash e memorizzate in un file sicuro chiamato /etc/shadow . Il file della password shadow contiene i dettagli sull'autenticazione dell'utente e sull'invecchiamento della password degli account utente.

Il file della password shadow è di proprietà del root utente ed è leggibile solo dai super utenti. Puoi verificare la proprietà e l'autorizzazione del file shadow utilizzando il comando seguente:

# ls -l /etc/shadow
---------- 1 root root 618 Apr  7 07:52 /etc/shadow

Di seguito è riportata la struttura tipica di una riga di esempio dal file shadow.

user1:$6$5ps/XV21$EFmQ463GJZnsdF/:19089:0:99999:7:::

Come forse già saprai, il file shadow ha nove campi separati da due punti.

Diamo una rapida occhiata a ciascun campo.

  • Archiviato 1 (nome di accesso) - Questo contiene il nome di accesso (utente1) come appare nel passwd file.
  • Archiviato 2 (password crittografata) - Questo campo contiene la password hash (crittografata) dell'utente. Se è presente un solo punto esclamativo (!) all'inizio di questo file, significa che l'account utente è bloccato. Se questo campo è vuoto, l'utente non ha una password.
  • Archiviato 3 (ultima modifica) - Questo campo mostra il numero di giorni trascorsi dall'epoca Unix (ovvero ora Unix - 01 gennaio 1970 00:00:00 UTC) dall'ultima modifica della password. Se questo campo contiene 0, l'utente è obbligato a modificare la propria password al prossimo accesso.
  • Archiviato 4 (minimo) - Questo campo mostra il numero minimo di giorni (minday) che devono trascorrere prima che l'utente possa modificare la propria password. Puoi modificare questo valore archiviato con chage comando con -m opzione.
  • Campo 5 (Massimo) - Mostra il numero massimo di giorni (maxdays) di validità della password prima della scadenza della password utente. Se il campo è 0, significa che questa funzione è disabilitata. Il valore di questo campo può essere modificato con chage comando con -M opzione.
  • Deposito 6 (Avviso) - Indica il numero di giorni (warday) per i quali l'utente riceve avvisi per la modifica della password prima della scadenza. Puoi modificare questo valore con chage comando con -W opzione o il passwd comando con -w opzione.
  • Campo 7 (scadenza password) - Definisce il numero massimo consentito di giorni affinché l'utente possa accedere con la password scaduta. Questo può essere modificato usando chage comando con -I flag o passwd comando con -i bandiera.
  • Campo 8 (Scadenza account) - Definisce il numero di giorni trascorsi dall'ora UNIX in cui l'account utente scadrà e non sarà più disponibile. Puoi modificare il valore di questo campo utilizzando chage comando con -E opzione.
  • Campo 9 (Riservato) - Questo campo è riservato per un uso futuro.

Come accennato in precedenza, le password crittografate vengono memorizzate nel secondo campo di ogni voce nel file password shadow, subito dopo il nome utente.

Quindi, se il secondo campo nel file shadow è vuoto, l'utente non ha password. Permettimi di mostrarti un esempio per trovare tutti gli account utente senza password.

Trova tutti gli account utente senza password in Linux

Per rilevare tutti gli account utente locali privi di password, esegui semplicemente il comando seguente come root utente:

# awk -F: '$2 == "" { print $1, "has empty password!. Please set a strong password ASAP!!" }' /etc/shadow

Risultato di esempio:

ostechnix has empty password!. Please set a strong password ASAP!!

Puoi anche usare getent comando combinato con grep e cut comandi per identificare gli account utente locali senza password in Linux.

# getent shadow | grep -Po '^[^:]*(?=::)'

Oppure,

# getent shadow | grep '^[^:]*::' | cut -d: -f1

Tutti i comandi precedenti elencheranno solo gli account utente locali che hanno password vuote. Se vuoi elencare sia gli account di sistema che gli account utente con password vuota, esegui.

# getent shadow | grep -Po '^[^:]*(?=:.?:)'

Oppure,

# getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1

Trova un account utente senza password specifico

I comandi precedenti elencheranno tutti gli account locali e di sistema che non hanno password. Puoi anche controllare lo stato della password di un account utente specifico utilizzando passwd comando con -S bandiera.

# passwd -S ostechnix

Risultato di esempio:

ostechnix NP 2022-04-07 0 99999 7 -1 (Empty password.)

Il passwd i comandi indicheranno lo stato della password dell'account utente specificato. I valori possibili sono:

  • LK - L'account utente è bloccato.
  • NP - L'account utente non ha password.
  • PS - L'account utente ha una password utilizzabile.

Avviso: Nei sistemi basati su Debian, lo stato della password sarà indicato come L , N , P rispettivamente.

Imposta password utente in Linux

Puoi accedere come utente senza password, va benissimo. Tuttavia non è raccomandato! Devi impostare una password complessa con almeno 8 caratteri tra cui lettere maiuscole, minuscole, un carattere speciale e un numero.

Per impostare la password per un account utente in Linux, usa passwd comando come root utente come di seguito.

Come utente root:

# passwd ostechnix

Sostituisci ostechnix con il tuo nome utente.

Ora controlla lo stato della password dell'account utente usando passwd comando:

# passwd -S ostechnix

Risultato di esempio:

ostechnix PS 2022-04-07 0 99999 7 -1 (Password set, SHA512 crypt.)

Blocca gli account utente in Linux

A volte, vuoi solo bloccare gli account utente con password vuote. In tal caso, trova prima gli utenti con password vuote come descritto sopra e bloccali utilizzando passwd comando con -l segnala come root utente come di seguito.

# passwd -l ostechnix

Risultato di esempio:

Locking password for user ostechnix.
passwd: Success

Ora controlla lo stato dell'account utente:

# passwd -S ostechnix

Risultato di esempio:

ostechnix LK 2022-04-07 0 99999 7 -1 (Password locked.)

Vedere? L'utente è stato bloccato. Non può più accedere al sistema.

Puoi anche usare usermod comando con -L (L maiuscola) flag per bloccare un utente.

# usermod -L ostechnix

Sblocca gli account utente in Linux

Per sbloccare gli utenti senza password in Linux, usa passwd comando o usermod comando con -p come root utente.

# passwd ostechnix

Inserisci la password due volte per sbloccarla.

Sblocco di utenti con password vuota con usermod comando non è possibile, dovresti impostare una password con usermod -p per sbloccare la password dell'utente.

# usermod -p <password-here> ostechnix

Conclusione

In questo tutorial, abbiamo spiegato cos'è il file di password Shadow e lo scopo di questo file in Linux. Quindi abbiamo discusso di vari comandi per trovare tutti gli account utente che non hanno password in Linux. Infine, abbiamo imparato come impostare la password per un utente e anche come bloccare e sbloccare gli utenti in Linux.


Linux
  1. Come eliminare gli account utente con Home Directory in Linux

  2. Automazione password SSH in Linux con sshpass

  3. Installa WordPress su Linux con Apache

  4. Imposta o modifica una password utente in Linux

  5. Come consentire ssh con password vuote in Linux

Come modificare o impostare la password utente in Linux

Guida completa all'amministrazione degli utenti su Linux

Modifica gli account utente con il comando Usermod

Comando Linux passwd – Modifica password utente

Come proteggere GRUB con password in Linux?

Esecuzione della reimpostazione della password Linux [Passo dopo passo]