6.50. Shadow-4.0.15

Il pacchetto Shadow contiene programmi per gestire le password in modo sicuro.

Tempo di costruzione approssimativo: 0.3 SBU
Spazio necessario su disco: 18.6 MB

6.50.1. Installazione di Shadow

[Nota]

Nota

Se si vuole obbligare l'uso di password forti fare riferimento a http://www.linuxfromscratch.org/blfs/view/svn/postlfs/cracklib.html per installare Cracklib prima di costruire Shadow. Quindi aggiungere --with-libcrack al comando configure seguente.

Preparare Shadow per la compilazione:

./configure --libdir=/lib --enable-shared --without-selinux

Significato delle opzioni di configurazione:

--without-selinux

Il supporto per selinux è abilitato di default, ma selinux non è costruito nel sistema base di LFS. Se questa opzione non è usata lo script configure fallirà.

Disabilitare l'installazione del programma groups, e le sue pagine man, poiché Coreutils ne fornisce una versione migliore:

sed -i 's/groups$(EXEEXT) //' src/Makefile
find man -name Makefile -exec sed -i '/groups/d' {} \;

Disabilitare l'installazione delle pagine man in Cinese e Coreano, dal momento che Man-DB non può formattarle in modo corretto:

sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile

Shadow fornisce altre pagine man nella codifica UTF-8. Man-DB può visualizzarle nelle codifiche raccomandate utilizzando lo script convert-mans che viene installato.

 for i in de es fi fr id it pt_BR; do
    convert-mans UTF-8 ISO-8859-1 man/${i}/*.?
done

for i in cs hu pl; do
    convert-mans UTF-8 ISO-8859-2 man/${i}/*.?
done

convert-mans UTF-8 EUC-JP man/ja/*.?
convert-mans UTF-8 KOI8-R man/ru/*.?
convert-mans UTF-8 ISO-8859-9 man/tr/*.?

Compilare il pacchetto:

make

Questo pacchetto non è fornito di una suite di test.

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 -v 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 anche l'uso di password più lunghe di 8 caratteri. È 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 usata correntemente. Per risolvere entrambi i problemi bisogna modificare il file di configurazione mentre lo si copia nella sua destinazione:

sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
          -e 's@/var/spool/mail@/var/mail@' \
          etc/login.defs > /etc/login.defs
[Nota]

Nota

Se si è costruito Shadow con il supporto Cracklib, eseguire il seguente:

sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' \
    /etc/login.defs

Spostare un programma nella cartella giusta:

mv -v /usr/bin/passwd /bin

Spostare le librerie di Shadow in locazioni più appropriate:

mv -v /lib/libshadow.*a /usr/lib
rm -v /lib/libshadow.so
ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so

L'opzione -D del programma useradd richiede la directory /etc/default per funzionare correttamente:

mkdir -v /etc/default

6.50.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: che i programmi che servono per verificare le password (gestori di finestre, programmi per ftp, demoni pop3, e simili) devono essere conformi a Shadow. Cioé occorre che siano in grado di funzionare con le password shadowed.

Per abilitare le password shadowed eseguire il seguente comando:

pwconv

Per abilitare le password shadowed di gruppo eseguire:

grpconv

6.50.3. Definizione della password root

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

passwd root

6.50.4. Contenuti di Shadow

Programmi installati: chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (link a newgrp), su, 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

chgpasswd

Viene usato per aggiornare le password di un gruppo in modo batch

chpasswd

Viene usato per aggiornare le password di utente in modo batch

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

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 e 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

newgrp

Viene usato per modificare il GID corrente durante una sessione di login

newusers

Viene usato per creare o aggiornare una serie di account utenti

nologin

Visualizza un messaggio che un account non è disponibile. Progettato per essere usato come shell di default per account che sono stati disabilitati

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, etc.

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