Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1124

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux Shadow Password HOWTO: Mettere al lavoro la Shadow Suite</TITLE>
<LINK HREF="Shadow-Password-HOWTO-8.html" REL=next>
<LINK HREF="Shadow-Password-HOWTO-6.html" REL=previous>
<LINK HREF="Shadow-Password-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Shadow-Password-HOWTO-8.html">Avanti</A>
<A HREF="Shadow-Password-HOWTO-6.html">Indietro</A>
<A HREF="Shadow-Password-HOWTO.html#toc7">Indice</A>
<HR>
<H2><A NAME="sez-lavoro"></A> <A NAME="s7">7. Mettere al lavoro la Shadow Suite</A></H2>

<P>Questo capitolo tratta alcune cose che dovete sapere ora che avete la <EM>Shadow Suite</EM> installata sul vostro sistema. Ulteriori informazioni sono contenute nelle pagine di manuale per ogni comando.
<P>
<H2><A NAME="ss7.1">7.1 Aggiungere, Modificare e Cancellare utenti</A>
</H2>

<P>La <EM>Shadow Suite</EM> ha aggiunto i seguenti comandi orientati a linea di comando per aggiungere, modificare, e cancellare utenti. Potreste anche aver installato il programma <CODE>adduser</CODE>.
<P>
<H3>useradd</H3>

<P>Il comando <CODE>useradd</CODE> pu&ograve; essere usato per aggiungere utenti al sistema. Potete anche invocare questo comando per cambiare le impostazioni predefinite.
<P>La prima cosa che dovreste fare &egrave; esaminare le impostazioni predefinite e apportare cambiamenti specifici per il vostro sistema:
<BLOCKQUOTE><CODE>
<PRE>
useradd -D
</PRE>
</CODE></BLOCKQUOTE>
<HR>
<PRE>
GROUP=1
HOME=/home
INACTIVE=0
EXPIRE=0
SHELL=
SKEL=/etc/skel
</PRE>
<HR>
<P>Le impostazioni predefinite probabilmente non sono quelle che volete, perci&ograve; se cominciaste ad aggiungere utenti adesso dovreste specificare tutte le informazioni per ciascun utente. Comunque, possiamo e dovremmo cambiare i valori predefiniti.
<P>Sul mio sistema:
<UL>
<LI>Voglio che il gruppo predefinito sia 100</LI>
<LI>Voglio che le password scadano ogni 60 giorni</LI>
<LI>Non voglio bloccare un account se la password &egrave; scaduta</LI>
<LI>Voglio che la shell predefinita sia <CODE>/bin/bash</CODE></LI>
</UL>

Per fare questi cambiamenti userei:
<BLOCKQUOTE><CODE>
<PRE>
useradd -D -g100 -e60 -f0 -s/bin/bash
</PRE>
</CODE></BLOCKQUOTE>
 
<P>Ora eseguendo <CODE>useradd -D</CODE> dar&agrave;:
<HR>
<PRE>
GROUP=100
HOME=/home
INACTIVE=0
EXPIRE=60
SHELL=/bin/bash
SKEL=/etc/skel
</PRE>
<HR>
<P>Solo nel caso voleste saperlo, questi valori predefiniti sono contenuti nel file <CODE>/etc/default/useradd</CODE>.
<P>Ora potete usare <CODE>useradd</CODE> per aggiungere utenti al sistema. Per esempio, per aggiungere l'utente <CODE>fred</CODE>, usando i valori predefiniti, dovreste fare come segue:
<BLOCKQUOTE><CODE>
<PRE>
useradd -m -c "Fred Flintstone" fred
</PRE>
</CODE></BLOCKQUOTE>

Questo creer&agrave; la voce seguente nel file <CODE>/etc/passwd</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
fred:*:505:100:Fred Flintstone:/home/fred:/bin/bash
</PRE>
</CODE></BLOCKQUOTE>

E la voce seguente nel file <CODE>/etc/shadow</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
fred:!:0:0:60:0:0:0:0
</PRE>
</CODE></BLOCKQUOTE>

Verr&agrave; creata la home directory di <CODE>fred</CODE> e il contenuto di <CODE>/etc/skel</CODE> sar&agrave; copiato l&agrave; grazie all'opzione <CODE>-m</CODE>.
<P>Inoltre, dato che non abbiamo specificato un UID, &egrave; stato usato il primo disponibile.
<P>L'account di <CODE>fred</CODE> &egrave; stato creato, ma <CODE>fred</CODE> non sar&agrave; ancora in grado di collegarsi fino a quando sbloccheremo l'account. Facciamo questo cambiando la password.
<BLOCKQUOTE><CODE>
<PRE>
passwd fred
</PRE>
</CODE></BLOCKQUOTE>

<HR>
<PRE>
Changing password for fred 
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New Password: *******
Re-enter new password: *******
</PRE>
<HR>

Che, in italiano, sarebbe qualcosa del genere:
<HR>
<PRE>
Cambio la password di fred
Inserire la nuova password (minimo 5 caratteri)
Per favore, utilizzare una combinazione di maiuscole, minuscole e cifre.
Nuova Password: ******* 
Reinserire la nuova password: *******
</PRE>
<HR>

Ora <CODE>/etc/shadow</CODE> conterr&agrave;:
<BLOCKQUOTE><CODE>
<PRE>
fred:J0C.WDR1amIt6:9559:0:60:0:0:0:0
</PRE>
</CODE></BLOCKQUOTE>

E <CODE>fred</CODE> potr&agrave; ora collegarsi ed usare il sistema. La cosa bella di <CODE>useradd</CODE> e degli altri programmi che vengono forniti con la <EM>Shadow Suite</EM> &egrave; che fanno cambiamenti ai file <CODE>/etc/passwd</CODE> e <CODE>/etc/shadow</CODE> in modo non interrompibile. Perci&ograve; , se state aggiungendo un utente, e contemporaneamente un altro utente sta cambiando la sua password, entrambe le operazioni verranno eseguite correttamente.
<P>Dovreste usare i comandi forniti anzich&eacute; editare direttamente <CODE>/etc/passwd</CODE> e <CODE>/etc/shadow</CODE>. Se voi editaste il file <CODE>/etc/shadow</CODE>, e un utente cambiasse la sua password mentre voi state editando, e poi voi salvaste il file che stavate editando, il cambiamento della password dell'utente andrebbe perso.
<P>Qui c'&egrave; un piccolo script interattivo che aggiunge utenti usando <CODE>useradd</CODE> e <CODE>passwd</CODE>:
<HR>
<PRE>
#!/bin/bash
#
# /sbin/newuser - Uno script per aggiungere utenti al sistema usando i
#                 comandi useradd e passwd della Shadow Suite.
#
# Scritto da Mike Jackson &lt;mhjack@tscnet.com> come esempio per il
# Linux Shadow Password Howto. Viene esplicitamente concesso il
# permesso di usarlo e modificarlo. 
#
# Questo potrebbe essere modificato per mostrare i valori predefiniti
# e permettere modifiche simili al programma Slackware
# adduser. Potrebbe essere modificato per non permettere voci stupide
# (i.e. miglior controllo degli errori). 
#
##
# Valori predefiniti per il comando useradd
##
GROUP=100        # Gruppo predefinito
HOME=/home       # Collocazione della home directory (/home/nomeutente)
SKEL=/etc/skel   # Struttura tipica di una nuova directory home. 
INACTIVE=0       # Giorni tra la scadenza della password e la
                 # disabilitazione dell'account (0 = mai) 
EXPIRE=60        # Durata della password in giorni
SHELL=/bin/bash  # Shell predefinita (intero percorso)
##
#  Valori predefiniti per il comando passwd
##
PASSMIN=0        # Giorni tra i cambiamenti della password
PASSWARN=14      # Giorni prima che scada la password in cui viene
                 # dato un avviso 
##
#  Assicurarsi che sia root ad eseguire lo script.
##
WHOAMI=`/usr/bin/whoami`
if [ $WHOAMI != "root" ]; then
        echo "Devi essere root per aggiungere nuovi utenti!"
        exit 1
fi
##
#  Chiedere il nome utente e il nome completo.
##
echo ""
echo -n "Nome utente: "
read USERNAME

echo -n "Nome completo: "
read FULLNAME

#
echo "Aggiunta dell'utente: $USERNAME."
#
# Notate che le "" intorno a $FULLNAME sono richieste perch&eacute;
# questo campo quasi sempre conterr&agrave; almeno uno spazio, e senza
# le " il comando useradd, quando raggiunge il carattere SPAZIO,
# penserebbe che vi stiate spostando sul prossimo parametro. 
#
/usr/sbin/useradd -c"$FULLNAME" -d$HOME/$USERNAME -e$EXPIRE \
        -f$INACTIVE -g$GROUP -m -k$SKEL -s$SHELL $USERNAME

##
#  Impostare i valori predefiniti per le password
##
/bin/passwd -n $PASSMIN -w $PASSWARN $USERNAME >/dev/null 2>&amp;1
##
#  Lascia che il comando passwd chieda la password (due volte)
##
/bin/passwd $USERNAME

##
#  Mostra ci&ograve; che &egrave; stato fatto.
##
echo ""
echo "Voce di /etc/passwd:"
echo -n "   "
grep "$USERNAME:" /etc/passwd
echo "Voce di /etc/shadow:"
echo -n "   "
grep "$USERNAME:" /etc/shadow
echo "Riassunto dei risultati del comando passwd:"
echo -n "   "
passwd -S $USERNAME

echo ""
</PRE>
<HR>
 
<P>Usare uno script per aggiungere utenti &egrave; davvero molto pi&ugrave; preferibile che editare direttamente i file <CODE>/etc/passwd</CODE> o <CODE>/etc/shadow</CODE> o usare un programma come il programma Slackware <CODE>adduser</CODE>. Sentitevi liberi di usare e modificare questo script per il vostro particolare sistema.
<P>Per maggiori informazioni su <CODE>useradd</CODE> vedere la pagina di manuale in linea.
<P>
<H3>usermod</H3>

<P>Il programma <CODE>usermod</CODE> viene usato per modificare le informazioni su un utente.
Le opzioni sono simili a quelle del programma <CODE>useradd</CODE>. 
<P>Diciamo che volete cambiare la shell di <CODE>fred</CODE>, fareste ci&ograve; che segue:
<BLOCKQUOTE><CODE>
<PRE>
usermod -s /bin/tcsh fred
</PRE>
</CODE></BLOCKQUOTE>

Ora la voce di <CODE>fred</CODE>nel file <CODE>/etc/passwd</CODE> sarebbe diventata questa:
<BLOCKQUOTE><CODE>
<PRE>
fred:*:505:100:Fred Flintstone:/home/fred:/bin/tcsh
</PRE>
</CODE></BLOCKQUOTE>

Facciamo in modo che l'account di <CODE>fred</CODE> scada il 09/15/97:
<BLOCKQUOTE><CODE>
<PRE>
usermod -e 09/15/97 fred
</PRE>
</CODE></BLOCKQUOTE>

Ora la voce di <CODE>fred</CODE> in <CODE>/etc/shadow</CODE> diventa:
<BLOCKQUOTE><CODE>
<PRE>
fred:J0C.WDR1amIt6:9559:0:60:0:0:10119:0
</PRE>
</CODE></BLOCKQUOTE>
<P>Per maggiori informazioni sul comando <CODE>usermod</CODE> vedere la pagina di manuale in linea.
<P>
<H3>userdel</H3>

<P><CODE>userdel</CODE> fa proprio quello che vi aspettate, cancella l'account dell'utente. 
Semplicemente usate:
<BLOCKQUOTE><CODE>
<PRE>
userdel -r nomeutente
</PRE>
</CODE></BLOCKQUOTE>

Il <CODE>-r</CODE> fa s&igrave; che tutti i file nella home directory dell'utente vengano cancellati insieme alla home directory stessa. I file collocati in altri file system dovranno essere cercati e cancellati manualmente.
<P>Se volete semplicemente bloccare l'account invece che cancellarlo, usate piuttosto il comando <CODE>passwd</CODE>. 
<P>
<H2><A NAME="ss7.2">7.2 Il comando passwd e l'invecchiamento delle password</A>
</H2>

<P>Il comando <CODE>passwd</CODE> ha l'ovvio uso di cambiare le password.
Inoltre, viene usato dall'utente <EM>root</EM> per:
<UL>
<LI>Bloccare (lock) e sbloccare (unlock) gli account (<CODE>-l</CODE> e <CODE>-u</CODE>)</LI>
<LI>Impostare il massimo numero di giorni per cui una password rimane valida (<CODE>-x</CODE>)</LI>
<LI>Impostare il minimo numero di giorni tra cambiamenti della password (<CODE>-n</CODE>)</LI>
<LI>Impostare il numero di giorni di avviso che una password sta per scadere (<CODE>-w</CODE>)</LI>
<LI>Impostare il numero di giorni dopo la scadenza della password prima che l'account venga bloccato (<CODE>-i</CODE>)</LI>
<LI>Permettere la visualizzazione delle informazioni di account in un formato pi&ugrave; chiaro 
<CODE>-S</CODE>)</LI>
</UL>
<P>Per esempio, diamo ancora un'occhiata a <CODE>fred</CODE>
<BLOCKQUOTE><CODE>
<PRE>
passwd -S fred
fred P 03/04/96 0 60 0 0
</PRE>
</CODE></BLOCKQUOTE>

Questo significa che la password di <CODE>fred</CODE> &egrave; valida, che &egrave; stata cambiata l'ultima volta il 03/04/96, che pu&ograve; essere cambiata in qualunque momento, scade dopo 60 giorni, fred non sar&agrave; avvertito e l'account non verr&agrave; disabilitato quando la password scadr&agrave;.
<P>Questo semplicemente significa che se <CODE>fred</CODE> si collega dopo che la password scade, al collegamento gli verr&agrave; richiesta una nuova password.
<P>Se decidiamo che vogliamo avvertire <CODE>fred</CODE> 14 giorni prima che la sua password scada e inattivare il suo account 14 giorni dopo che lui la lascia scadere, dovremo fare quanto segue:
<BLOCKQUOTE><CODE>
<PRE>
passwd -w14 -i14 fred
</PRE>
</CODE></BLOCKQUOTE>

Ora <CODE>fred</CODE> &egrave; diventato:
<BLOCKQUOTE><CODE>
<PRE>
fred P 03/04/96 0 60 14 14
</PRE>
</CODE></BLOCKQUOTE>

Per ulteriori informazioni sul comando <CODE>passwd</CODE> vedere le pagine di manuale in linea.
<P>
<H2><A NAME="ss7.3">7.3 Il file login.defs</A>
</H2>

<P>Il file <CODE>/etc/login</CODE> &egrave; il file di configurazione per il programma <CODE>login</CODE> e anche per l'intera <EM>Shadow Suite</EM>.
<P><CODE>/etc/login</CODE> contiene impostazioni che riguardano dall'aspetto del prompt fino alla scadenza predefinita quando un utente cambia la sua password.
<P>Il file <CODE>/etc/login.defs</CODE> &egrave; abbastanza ben documentato dai commenti contenuti al suo interno. Comunque, ci sono alcune cose da notare:
<UL>
<LI>Contiene alcuni flag che possono essere attivati o disattivati che determinano il numero di collegamenti che vengono effettuati.</LI>
<LI>Contiene puntatori ad altri file di configurazione.</LI>
<LI>Contiene valori predefiniti per cose tipo l'invecchiamento delle password.</LI>
</UL>
<P>Dalla lista sopra potete vedere che questo &egrave; un file abbastanza importante, e dovreste essere sicuri che sia presente, e che le impostazioni siano quelle che desiderate per il vostro sistema.
<P>
<H2><A NAME="ss7.4">7.4 Password di gruppo</A>
</H2>

<P>Il file <CODE>/etc/groups</CODE> pu&ograve; contenere password che permettono ad un utente di diventare membro di un particolare gruppo. Questa funzione &egrave; abilitata se definite la costante <CODE>SHADOWGRP</CODE> nel file <CODE>/usr/src/shadow-AAMMGG/config.h</CODE>.
<P>Se definite questa costante e poi compilate, dovete creare un file <CODE>/etc/gshadow</CODE> che contenga le password del gruppo e le informazioni di amministrazione del gruppo.
<P>Quando avete creato <CODE>/etc/shadow</CODE>, avete usato un programma chiamato <CODE>pwconv</CODE>, non c'&egrave; nessun programma equivalente per creare il file <CODE>/etc/gshadow</CODE>, ma in realt&agrave; non importa, se ne occupa lui stesso.
<P>Per creare il file iniziale <CODE>/etc/gshadow</CODE> fate come segue:
<BLOCKQUOTE><CODE>
<PRE>
touch /etc/gshadow
chown root.root /etc/gshadow
chmod 700 /etc/gshadow
</PRE>
</CODE></BLOCKQUOTE>
<P>Una volta che create nuovi gruppi, questi verranno aggiunti ai file <CODE>/etc/group</CODE> e <CODE>/etc/gshadow</CODE>. Se voi modificate un gruppo aggiungendo o togliendo utenti o cambiando la password del gruppo, il file <CODE>/etc/gshadow</CODE> verr&agrave; modificato.
<P>I programmi <CODE>groups</CODE>, <CODE>groupadd</CODE>, <CODE>groupmod</CODE>, e <CODE>groupdel</CODE> sono forniti come parte della <EM>Shadow Suite</EM> per modificare i gruppi.
<P>Il formato del file <CODE>/etc/group</CODE> &egrave; quello che segue:
<BLOCKQUOTE><CODE>
<PRE>
nomegruppo:!:GID:membro,membro,...
</PRE>
</CODE></BLOCKQUOTE>

Dove:
<DL>
<DT><B><CODE>nomegruppo</CODE></B><DD><P>Il nome del gruppo
<DT><B><CODE>!</CODE></B><DD><P>Il campo che normalmente contiene la password, che ora &egrave; per&ograve; situata nel file <CODE>/etc/gshadow</CODE>
<DT><B><CODE>GID</CODE></B><DD><P>L'identificativo numerico del gruppo
<DT><B><CODE>membro</CODE></B><DD><P>Elenco dei membri del gruppo
</DL>
<P>Il formato del file <CODE>/etc/gshadow</CODE> &egrave; quello che segue:
<BLOCKQUOTE><CODE>
<PRE>
nomegruppo:password:ammin,ammin,...:membro,membro,...
</PRE>
</CODE></BLOCKQUOTE>

Dove:
<DL>
<DT><B><CODE>nomegruppo</CODE></B><DD><P>Il nome del gruppo
<DT><B><CODE>password</CODE></B><DD><P>La password del gruppo codificata
<DT><B><CODE>ammin</CODE></B><DD><P>Elenco degli amministratori del gruppo 
<DT><B><CODE>membro</CODE></B><DD><P>Elenco dei membri del gruppo
</DL>
<P>Il comando <CODE>gpasswd</CODE> &egrave; usato solo per aggiungere o togliere amministratori e membri a o da un gruppo. Solo <CODE>root</CODE> o qualcuno appartenente all'elenco degli amministratori pu&ograve; aggiungere o togliere membri del gruppo.
<P>La password del gruppo pu&ograve; essere modificata con il comando <CODE>passwd</CODE> da <EM>root</EM> o chiunque appartenga alla lista degli amministratori del gruppo. 
<P>Nonostante il fatto che attualmente non ci sia una pagina di manuale per <CODE>gpasswd</CODE>, digitando <CODE>gpasswd</CODE> senza alcun parametro si ottiene un elenco di opzioni. &Egrave; abbastanza semplice capire come funziona il tutto una volta che avete capito i formati dei file e i concetti.
<P>
<H2><A NAME="ss7.5">7.5 Programmi per il controllo della consistenza</A>
</H2>

<P>
<P>
<H3>pwck</H3>

<P>Il programma <CODE>pwck</CODE> viene fornito per offrire un controllo di consistenza sui file <CODE>/etc/passwd</CODE> e <CODE>/etc/shadow</CODE>. Esso controller&agrave; ogni nome utente e verificher&agrave; che abbia quanto segue:
<UL>
<LI>il corretto numero di campi</LI>
<LI>un nome utente univoco</LI>
<LI>un valido identificatore di utente e di gruppo</LI>
<LI>un valido gruppo primario</LI>
<LI>una valida home directory</LI>
<LI>una valida shell di login</LI>
</UL>
<P>Dar&agrave; anche un avvertimento per ogni account privo di password.
<P>&Egrave; una buona idea eseguire <CODE>pwck</CODE> dopo aver installato la <EM>Shadow Suite</EM>. &Egrave; anche una buona idea eseguirlo periodicamente, magari una volta alla settimana o al mese. Se usate l'opzione <CODE>-r</CODE>, potete usare <CODE>cron</CODE> per eseguirlo con una cadenza regolare e riceverne per posta il rapporto.
<P>
<H3>grpck</H3>

<P><CODE>grpck</CODE> &egrave; il programma per il controllo della consistenza per i file <CODE>/etc/group</CODE> and <CODE>/etc/gshadow</CODE>. Esso esegue i seguenti controlli: 
<UL>
<LI>il corretto numero di campi</LI>
<LI>un nome del gruppo univoco </LI>
<LI>elenco valido di membri ed amministratori</LI>
</UL>
<P>Dispone anche dell'opzione <CODE>-r</CODE> per rapporti automatizzati.
<P>
<H2><A NAME="ss7.6">7.6 Password di dial-up</A>
</H2>

<P>Le password di dial-up sono un altro strumento opzionale di difesa per i sistemi che permettono l'accesso tramite una linea telefonica commutata. Se avete un sistema che permette a molte persone di connettersi localmente o tramite una rete, ma volete porre dei limiti su chi possa accedere per telefono e connettersi, allora le password di dial-up fanno al caso vostro. Per abilitare le password di dial-up, dovete editare il file <CODE>/etc/login.defs</CODE> ed assicurarvi che <CODE>DIALUPS_CHECK_ENAB</CODE> sia impostato a <CODE>yes</CODE>.
<P>Due sono i file che contengono informazioni di dial-up: <CODE>/etc/dialups</CODE> che contiene le tty (una per riga, senza la parte iniziale /dev). Se una tty compare nella lista, allora vengono effettuati i controlli di dial-up. 
<P>Il secondo file &egrave; <CODE>/etc/d_passwd</CODE>. Questo file contiene il percorso completo di una shell, seguito da una password opzionale.
<P>Se un utente si collega attraverso una tty elencata in <CODE>/etc/dialups</CODE>, e la sua shell &egrave; presente nel file <CODE>/etc/d_passwd</CODE> gli sar&agrave; permesso l'accesso solo se fornir&agrave; la corretta password.
<P>Un altro utile scopo per usare password di dial-up potrebbe essere quello di impostare una linea che permetta solo un certo tipo di connessione (come una connessione PPP o UUCP). 
Se un utente cerca di ottenere un altro tipo di connessione (i.e. un elenco di shell), deve conoscere una password per usare la linea.
<P>Prima che possiate usare la caratteristica del dial-up, dovete creare i file.
<P>Viene fornito il comando <CODE>dpasswd</CODE> per assegnare password per le shell nel file <CODE>/etc/d_passwd</CODE>. Vedere la pagina di manuale per ulteriori informazioni.
<P>
<HR>
<A HREF="Shadow-Password-HOWTO-8.html">Avanti</A>
<A HREF="Shadow-Password-HOWTO-6.html">Indietro</A>
<A HREF="Shadow-Password-HOWTO.html#toc7">Indice</A>
</BODY>
</HTML>