Il controllo degli accessi

Tradizionalmente il database degli utenti è tenuto nel file /etc/passwd. Alcuni sistemi usano le shadow password ed hanno spostato le password in /etc/shadow. I siti con molti computer che condividono gli account usano il NIS o altri metodi per immagazzinare i database degli utenti: possono anche copiare automaticamente il database da una posizione centrale in tutti gli altri computer.

Il database degli utenti non contiene solo le password, ma anche altre informazioni sugli utenti, come il loro vero nome, le home directory e le shell di login. Queste informazioni devono essere pubbliche, in modo che chiunque possa leggerle, quindi le password sono criptate. Questo metodo ha il lato negativo che chiunque con accesso alle password criptate può usare un qualche metodo di decrittazione per leggerle, senza dover provare a collegarsi al computer; le shadow password tentano di evitare questa possibilità spostando le password in un altro file leggibile solo da root (sono comunque criptate). Comunque, installare le shadow password su un sistema che non le supporta fin dall'inizio può essere difficoltoso.

Con o senza le shadow password, è importante assicurarsi che tutte le password del sistema siano valide, cioè non facilmente indovinabili. Per craccare le password si può usare il programma crack: qualsiasi password che riesce a craccare per definizione non è valida. crack viene usato dagli intrusi, ma anche dai sistemisti che vogliono evitare password facili da indovinare. Si possono avere password valide anche usando il programma passwd; è più efficace in termini di cicli di CPU, dato che craccare le password è un lavoro che richiede molto calcolo.

Il database dei gruppi degli utenti viene tenuto in /etc/group; per i sistemi con le shadow password può anche esistere il file /etc/shadow.group.

root di solito non si può collegare dalla maggior parte dei terminali di rete, ma solo da quelli elencati nel file /etc/securetty; ciò rende necessario avere accesso fisico ad uno di questi terminali. È comunque possibile collegarsi ad un qualsiasi terminale come utente normale ed usare il comando su per diventare root.