6.6. Le password di Linux e il formato shadow

I sistemi Unix tradizionali mantengono le informazioni sugli account degli utenti, comprese le password criptate, in un file di testo chiamato "/etc/passwd". Poiché tale file viene utilizzato da molti strumenti (come "ls") per visualizzare la proprietà dei file o altro, confrontando gli user id # con le user name, deve necessariamente essere leggibile. Ciò comporta alcuni rischi per la sicurezza.

Un altro modo per memorizzare le informazioni degli account, quello che io uso sempre, è utilizzare il formato shadow password. Esattamente come quello tradizionale, questo metodo memorizza le informazioni sugli account nel file /etc/passwd. Soltanto che la password viene memorizzata con un singolo carattere "x" (cioè non viene memorizzata veramente in questo file). Un secondo file, chiamato "/etc/shadow", contiene le password criptate oltre ai valori di scadenza dell'account o della password, ecc. Il file /etc/shadow può essere letto solo da chi ha l'account di root, quindi molto più sicuro.

Mentre alcune distribuzioni di Linux vi obbligano ad installare la Shadow Password Suite che vi permette di utilizzare il formato shadow, Red Hat fa le cose più semplice. Per passare da un formato all'altro, digitate (come root):

  /usr/sbin/pwconv	Per passare al formato shadow
  /usr/sbin/pwunconv	Per tornare al formato tradizionale

Con le shadow password, il file "/etc/passwd" contiene le informazioni sugli account e appare così:

smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash

Ogni riga contiene campi separati dal carattere ":" e sono i seguenti:

Se non volete fornire degli shell account ai vostri utenti, potreste creare uno script chiamato "/bin/sorrysh", per esempio, che mostrerà un messaggio di errore e non farà accedere l'utente. Impostate questo script come la loro shell predefinita.

Nota

Se l'account ha bisogno dell'"FTP" per aggiornare le pagine web o per altro, allora dovrete impostare lo shell account a "/bin/bash" e poi dovrete impostare dei permessi speciali nella home directory dell'utente per impedirgli di accedere alla shell. Si veda la Sezione 7.1 per maggiori dettagli.

Il file "/etc/shadow" contiene la password e le informazioni sulla scadenza degli account degli utenti, e appare così:

smithj:Ep6mckrOLChF.:10063:0:99999:7:::

Come già visto in precedenza, anche qui i campi sono saparati dal carattere ":", e sono i seguenti: