back to top

Gestire utenti e password: i file /etc/passwd e /etc/shadow

La gestione degli utenti e delle relative password in Linux è un argomento piuttosto difficile e richiederebbe un’indagine approfondita e molto articolata. In questa sede, pertanto, ci limiteremo ad analizzare il contenuto dei due file di testo particolarmente importanti nella gestione degli utenti del sistema, al fine di capire come Linux gestisca queste informazioni e di come sia possibile modificarle. I due file in questione sono /etc/passwd e /etc/shadow.

N.B.: gli esempi che seguono sono stati realizzati utilizzando la distribuzione Ubuntu.

Pubblicità

File /etc/passwd

/etc/passwd – In questo file, nelle prime versioni Unix/Linux, venivano memorizzate le password (ora questa funzione è svolta da /etc/shadow, che analizziamo in seguito). È leggibile da tutti gli utenti e contiene numerose informazioni come la corrispondenza tra nome utente e relativo identificativo numerico (user ID), la shell di login utilizzata, la directory home, ecc. Apriamo il file con un editor di testo:

nano /etc/passwd

Vediamo che sono presenti molte voci corrispondenti agli utenti, la maggior parte dei quali sono utenti di sistema. Prendiamone qualcuna di esempio:

root:x:0:0:root:/root:/bin/bash
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
francesco:x:1000:1000:Francesco,,,:/home/francesco:/bin/bash

Le voci sopra indicate corrispondono all’utente amministrativo root, agli utenti di sistema bin e sys, all’utente francesco, cioè quello che uso in questo momento. Analizziamo nel dettaglio quella relativa al mio utente, descrivendo ognuno dei 7 campi che la compongono, separati dal carattere due punti (:):

francesco:x:1000:1000:Francesco,,,:/home/francesco:/bin/bash
  • Il primo campo è il nome utente (username).
  • Il secondo corrisponde alla password cifrata (la X indica che sono attive le password shadow, memorizzate nel file /etc/shadow).
  • Il terzo è il numero identificativo dell’utente (user ID).
  • Il quarto quello del gruppo (group ID).
  • Il quinto contiene il nome o/e cognome dell’utente più eventuali altri campi di commento separati da virgole.
  • Il sesto il percorso della directory home.
  • Il settimo indica la shell utilizzata.

File /etc/shadow

/etc/shadow – Questo file è protetto anche in lettura, cioè può essere visualizzato solo possedendo i diritti amministrativi. Oltre alle password, sono memorizzate nel file una serie di ulteriori informazioni che le riguardano, come le date di scadenza e le date di modifica. Apriamo il file con l’editor:

sudo nano /etc/shadow

Prendiamo qualche voce di esempio (corrispondono agli stessi utenti visualizzati precedentemente per /etc/passwd):

root:*:14315:0:99999:7:::
bin:*:14315:0:99999:7:::
sys:*:14315:0:99999:7:::
francesco:$1$oTc1DHLi$m4cqP7MVPu2Plrw/6Ov.v/:14315:0:99999:7:::

Analizziamo nel dettaglio quella relativa al mio utente, composta da 9 campi:

francesco:$1$oTc1DHLi$m4cqP7MVPu2Plrw/6Ov.v/:14315:0:99999:7:::
  • Il primo campo è il nome utente (username).
  • Il secondo la password cifrata.
  • Il terzo è il giorno in cui è stata cambiata la password l’ultima volta (espresso in numero di giorni dal 1/1/1970).
  • Il quarto il numero di giorni che devono passare dall’ultimo cambiamento prima che la password possa essere nuovamente cambiata.
  • Il quinto il numero di giorni dall’ultimo cambiamento dopo i quali la password scade e deve essere necessariamente cambiata.
  • Il sesto il numero dei giorni precedenti quello di scadenza della password in cui gli utenti vengono avvisati.
  • Il settimo il numero dei giorni successivi a quello di scadenza della password dopo i quali l’utente viene disabilitato.
  • L’ottavo il giorno in cui l’utente è stato disabilitato (espresso in numero di giorni dal 1/1/1970).
  • Il nono è un campo riservato.

In questo caso vediamo che gli ultimi tre campi non sono impostati. È importante sapere che la gestione delle password e degli utenti in Linux è fondamentale per garantire la sicurezza del sistema. Avere una conoscenza approfondita di questi file può aiutare a mantenere un ambiente di lavoro sicuro e a prevenire accessi non autorizzati. Pertanto, suggerisco di effettuare operazioni di gestione degli utenti con cautela e di considerare l’utilizzo di strumenti di gestione delle password più avanzati, come passwd, chage, e strumenti di auditing, per monitorare le politiche di sicurezza relative all’accesso e alla gestione delle password.

Altri contenuti interessanti

Pubblicità

Potrebbero interessarti queste guide

Leggi anche...

Linux: recuperare una partizione con GNU Parted o Gpart

A volte, nell'uso quotidiano del computer, possono capitare dei...

Differenze tra su e sudo in Linux

Quando si parla di Linux, uno degli aspetti fondamentali...

Creare una lista dei programmi installati su Ubuntu (per effettuarne il ripristino)

In questo breve post vedremo come visualizzare tutto il...

Criptare (e decriptare) file su Linux con OpenSSL

OpenSSL è un'implementazione rilasciata sotto licenza Open Source dei...

Come svuotare la memoria Cache in Linux?

La memoria cache è un componente fondamentale nei sistemi...

Installare un’interfaccia grafica su Ubuntu Server

Indipendentemente dalla versione di riferimento, il ramo principale della...
Pubblicità