Il pacchetto Shadow contiene programmi per gestire le password in un modo sicuro.
Tempo approssimativo di costruzione: 0.4 SBU Spazio necessario sul disco: 11 MB
L'installazione di Shadow dipende da: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.
Shedow incorpora il percorso al binario passwd nel binario stesso, ma lo fa nel modo sbagliato. Se un binario passwd non è presente prima di installare Shadow, il pacchetto suppone erroneamente che verrà posizionato in /bin/passwd, ma poi lo installa in /usr/bin/passwd. Questo porterà ad errori sul non ritrovamento di /bin/passwd. Per aggirare questo bug create un file dummy passwd, così che venga collegato correttamente:
touch /usr/bin/passwd
Preparate Shadow per la compilazione:
./configure --libdir=/usr/lib --enable-shared
Aggirate un problema che impedisce alla internazionalizzazione di Shadow di funzionare:
echo '#define HAVE_SETLOCALE 1' >> config.h
Compilate il pacchetto:
make
Quindi installatelo:
make install
Shadow usa due file per configurare le impostazioni di autenticazione per il sistema. Installate questi due file di configurazione:
cp etc/{limits,login.access} /etc
Invece di usare il metodo di default crypt , vogliamo usare il metodo più sicuro MD5 di cifratura password, che permette anche password più lunghe di 8 caratteri. Dobbiamo anche cambiare la locazione obsoleta /var/spool/mail per le mailbox degli utenti che shadow usa come predefinita nella locazione oggi usata /var/mail. Realizziamo entrambe queste cose cambiando i file di configurazione mentre li copiamo nella loro destinazione (è probabilmente meglio fare un taglia-incolla del prossimo comando piuttosto che digitarlo interamente a mano):
sed -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \ -e 's%/var/spool/mail%/var/mail%' \ etc/login.defs.linux > /etc/login.defs
Spostate alcuni link simbolici alla loro giusta collocazione:
mv /bin/sg /usr/bin mv /bin/vigr /usr/sbin
E spostate le librerie dinamiche di shadow in una locazione più appropriata:
mv /usr/lib/lib{shadow,misc}.so.0* /lib
Poiché alcuni pacchetti si aspettano di trovare le librerie appena spostate in /usr/lib, create i seguenti link simbolici:
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so
L'opzione -D del programma useradd richiede questa directory per funzionare correttamente:
mkdir /etc/default
Coreutils ha già installato un programma migliore di groups in /usr/bin. Rimuovete quello installato da Shadow:
rm /bin/groups
Questo pacchetto contiene utilità per aggiungere, modificare e cancellare utenti e gruppi, impostare e cambiare le loro password e altri simili compiti amministrativi. Per una piena spiegazione di cosa significa password shadowing, vedete il file doc/HOWTO nell'albero scompattato dei sorgenti. Se decidete di usare il supporto Shadow dovete tenere a mente una cosa: i programmi che devono verificare password (display manager, programmi ftp, daemon pop3 e simili), devono essere conformi a shadow, che è ciò che serve loro per poter funzionare con le password shadowed.
Per abilitare le password shadowed, eseguite il seguente comando:
pwconv
Per abilitare i gruppi di password shadowed, eseguite:
grpconv
In circostanze normali, non avrete creato nessuna password. Tuttavia se tornate più tardi in questa sezione per abilitare lo shadowing, dovrete eliminare qualunque password utente con il comando passwd o qualunque password di gruppo con il comando gpasswd.
scegliete una password per l'utente root e impostatela tramite:
passwd root
Programmi installati: chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (collegamento a newgrp), useradd, userdel, usermod, vigr (collegamento a vipw) e vipw
chage è usato per cambiare il numero massimo di giorni tra cambiamenti obbligatori di password.
chfn è usato per cambiare un nome utente e alcune altre info.
chpasswd è usato per aggiornare le password di intere serie di user account in un colpo.
chsh è usato per cambiare un login di default della shell utente.
dpasswd è usato per cambiare password dial-up per shell di login utente.
expiry verifica e forza la politica corrente di scadenza password.
faillog è usato per esaminare il log dei login sbagliati, per impostare un numero massimo di errori prima che un account sia bloccato o azzerare il contatore degli errori.
gpasswd è usato per aggiungere e cancellare membri e amministratori dai gruppi.
groupadd crea un gruppo con il dato nome.
groupdel cancella il gruppo con il dato nome.
groupmod è usato per modificare il dato nome gruppo o GID.
groups riporta i gruppi dei quali i dati utenti sono membri.
grpck verifica l'integrità dei file del gruppo, /etc/group e /etc/gshadow.
grpconv crea o aggiorna il file del gruppo shadow dal file normale del gruppo.
grpunconv aggiorna /etc/group da /etc/gshadow e quindi cancella l'ultimo.
lastlog riporta il login più recente di tutti gli utenti, o di un dato utente.
login è usato dal sistema per permettere l'accesso degli utenti.
logoutd è il daemon usato per porre restrizioni su tempi e porte di log-on.
mkpasswd cifra una data password usando anche il dato metodo specificato.
newgrp è usato per cambiare il GID corrente durante una sessione di login.
newusers è usato per creare o aggiornare un'intera serie di account utenti in un colpo.
passwd è usato per cambiare la password per un account utente o gruppo.
pwck verifica l'integrità dei file password, /etc/passwd e /etc/shadow.
pwconv crea o aggiorna il file password shadow dal normale file password.
pwunconv aggiorna /etc/passwd da /etc/shadow e quindi cancella l'ultimo.
sg esegue un dato comando mentre viene impostato il GID utente a quello del dato gruppo.
useradd crea un nuovo utente con il dato nome, o aggiorna le informazioni new-user di default.
userdel cancella il dato user account.
usermod è usato per modificare il dato nome di login dell'utente, UID (User Identification), shell, group iniziale, home directory e così via.
vigr può essere usato per modificare i file /etc/group o /etc/gshadow.
vipw può essere usato per modificare i file /etc/passwd o /etc/shadow.
libshadow contiene funzioni usate da molti programmi in questo pacchetto.