Shadow-4.0.4.1

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.

Installazione di Shadow

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

Configurazione di Shadow

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.

Impostate la password di root

scegliete una password per l'utente root e impostatela tramite:

passwd root

Contenuti di Shadow

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

Brevi descrizioni

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.

libmisc...

libshadow contiene funzioni usate da molti programmi in questo pacchetto.