6.53. Shadow-4.0.4.1

Il pacchetto Shadow contiene programmi per la gestione delle password in modo sicuro.

Tempo approssimativo di costruzione: 0.4 SBU

Spazio su disco richiesto: 11 MB

L'installazione di Shadow dipende da: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed

6.53.1. Installazione di Shadow

Preparare Shadow per la compilazione:

./configure --libdir=/usr/lib --enable-shared

Aggirare un problema che impedisce all'internazionalizzazione di Shadow di funzionare:

echo '#define HAVE_SETLOCALE 1' >> config.h

Shadow dichiara in modo scorretto la funzione malloc(), provocando fallimenti nella compilazione. Correggerlo:

sed -i '/extern char/d' libmisc/xmalloc.c

Compilare il pacchetto:

make

Installare il pacchetto:

make install

Shadow usa due file per configurare le impostazioni di autenticazione per il sistema. Installare questi due file di configurazione:

cp etc/{limits,login.access} /etc

Invece di utilizzare il metodo di default crypt, sarebbe meglio utilizzare il più sicuro MD5 per la cifratura delle password, che permette l'uso di password più lunghe di 8 caratteri. E' necessario anche cambiare la vecchia locazione /var/spool/mail per le caselle di posta degli utenti che Shadow invece tiene di default su /var/mail. Per risolvere entrambi i problemi bisogna modificare il file di configurazione mentre lo si copia nella sua destinazione:

cp etc/login.defs.linux /etc/login.defs
sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
    -e 's@/var/spool/mail@/var/mail@' /etc/login.defs

Bisogna spostare alcuni link simbolici/programmi nella cartella giusta:

mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin
mv /usr/bin/passwd /bin

Spostare le librerie dinamiche di Shadow in una locazione più appropriata:

mv /usr/lib/lib{shadow,misc}.so.0* /lib

Poiché alcuni pacchetti cercano le librerie in /usr/lib, creare 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 la directory /etc/default per funzionare correttamente:

mkdir /etc/default

Coreutils ha già installato una versione migliore del programma groups in /usr/bin. Rimuovere quello installato da Shadow:

rm /bin/groups

6.53.2. Configurazione di Shadow

Questo pacchetto contiene strumenti per aggiungere, modificare e cancellare utenti e gruppi, impostare e cambiare le loro password, e altri strumenti amministrativi simili. Per una spiegazione completa su cosa significa password shadowing, si veda il file doc/HOWTO all'interno dell'albero dei sorgenti scompattato. Bisogna tenere una cosa a mente se si decide di usare il supporto di Shadow: i programmi che devono verificare le password (gestori di finestre, programmi per ftp, demoni pop3, e simili) devono essere conformi a shadow, che significa poter funzionare con le password shadowed.

Per abilitare le password shadowed, eseguire il seguente comando:

pwconv

Per abilitare le password shadowed di gruppo, eseguire:

grpconv

In circostanze normali, non ci saranno password già create. Comunque, se si ritorna a leggere questa sezione in futuro, per abilitare lo shadowing, bisognerà reimpostare ogni password utente già esistente con il comando passwd ed ogni password di gruppo con il comando gpasswd.

6.53.3. Definizione della password root

Scegliere una password per l'utente root e definirla usando:

passwd root

6.53.4. Contenuti di Shadow

Programmi installati: chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link a newgrp), useradd, userdel, usermod, vigr (link a vipw), e vipw

Librerie installate: libshadow[.a,so]

Brevi descrizioni

chage

viene usato per modificare il numero massimo di giorni entro i quali bisogna cambiare la propria password.

chfn

viene usato per modificare il nome completo di un utente ed altre informazioni.

chpasswd

viene usato per aggiornare le password di una serie di utenti in un'unica volta.

chsh

viene usato per modificare la shell di login predefinita per un utente.

expiry

verifica e fa rispettare i termini di scadenza della password corrente.

faillog

viene usato per esaminare il log dei login falliti, per impostare il numero massimo di tentativi prima che l'account venga bloccato e per azzerare il contatore dei tentativi.

gpasswd

viene usato per aggiungere e cancellare membri ed amministratori dai gruppi.

groupadd

crea un gruppo con il nome indicato.

groupdel

cancella il gruppo col nome indicato.

groupmod

viene usato per modificare il nome o il GID del gruppo indicato.

groups

visualizza il gruppo del quale fanno parte gli utenti indicati.

grpck

verifica l'integrità dei file dei gruppi, /etc/group e /etc/gshadow.

grpconv

crea o aggiorna il file dei gruppi shadow dal normale file dei gruppi.

grpunconv

aggiorna /etc/group da /etc/gshadow ed infine cancella il secondo.

lastlog

visualizza i login più recenti per ogni utente, o per un dato utente.

login

viene usato dal sistema per permettere agli utenti di autenticarsi.

logoutd

è un demone usato per far rispettare le restrizioni sul tempo e sulle porte per il log-in.

mkpasswd

Genera password casuali.

newgrp

viene usato per modificare il GID corrente durante una sessione di login.

newusers

viene usato per creare o aggiornare più account in una volta sola.

passwd

viene usato per modificare la password di un utente o di un gruppo.

pwck

verifica l'integrità dei file delle password, /etc/passwd e /etc/shadow.

pwconv

crea o aggiorna il file delle password shadow dal normale file delle password.

pwunconv

aggiorna /etc/passwd da /etc/shadow e infine cancella il secondo.

sg

esegue un dato comando mentre il GID dell'utente è impostato su quello del gruppo indicato.

su

esegue una shell sostituendo ID utente e gruppo.

useradd

crea un nuovo utente con il nome indicato, o aggiorna le informazioni di default del nuovo utente.

userdel

cancella l'account dell'utente indicato.

usermod

viene usato per modificare il nome di login, l'UID (User Identification), la shell, il gruppo iniziale, la home directory ed altre informazioni dell'utente indicato.

vigr

Edita i file /etc/group o /etc/gshadow.

vipw

Edita i file /etc/passwd o /etc/shadow.

libshadow

contiene funzioni usate dalla maggior parte dei programmi di questo pacchetto.