Agli amministratori di sistema che gestiscono mail server può capitare di perdere gli username e le password del mail server. In tal caso sono costretti ad aggiungere manualmente uno ad uno tutti gli utenti e poi cambiare la password per ognuno di essi. Lo script bash a seguire è stato realizzato per automatizzare e semplificare questa operazione in pochi passi.
1) Creazione file che contiene tutti gli username
Viene riportato un esempio di possibili utenti che si vogliono inserire nel sistema.
linus
steve
frank
Salvare il file con il nome utenti.txt.
2) Creazione script per aggiungere utenti
#!/bin/bash
for i in $(more utenti.txt) #ciclo su tutti gli utenti nel file
do
echo $i #stampa a video il nome dell’utente i-esimo
adduser $i #aggiunge l’utente i-esimo
done
Salvare il file come adduser.sh ed uscire.
Settare i permessi dello script con il comando:
chmod 755 adduser.sh
Adesso avviare lo script:
./adduser.sh
In tal modo verrà inserito l’utente il cui nome è presente in utenti.txt.
3) Settare le password
Per cambiare le password si usano delle password standard che gli utenti cambieranno in seguito ad una segnalazione via email. Quindi fissiamo che le password siano “‘nome_utente’asd“, quindi nel caso del primo utente (linus) del file utenti.txt la password sarebbe linuaasd. Questo può essere ottenuto con il seguente script
#!/bin/sh
for i in $(more utenti.txt) #ciclo che scorre tutti gli utenti nel file utenti.txt
do
echo $i
echo $i”asd” | passwd -stdin “$i” #esegue passwd con l’input dallo standard input
#N.B: l’opzione -stdin è disponibile solo su alcune distribuzioni Linux, tra cui Red Hat e Fedora Core. Non è disponibile ad esempio sulle installazioni base di debian e ubuntu.
chage -dO $i #obbliga l’utente a cambiare password al primo accesso
echo “La password dell’utente $username è stata cambiata”
done
Per maggiore sicurezza è possibile far uso di un generatore di password casuali; per far ciò supponiamo di avere uno script chiamato randpwd che genera password casuali (sarà illustrato uno script del genere in un ulteriore tutorial si Tuxjournal) e scrivere nella quinta riga dello script ./randpwd anzichè $i”asd”.
Salvare lo script con il nome changepwd.sh.
Settare i permessi con il comando
chmod 755 changepwd.sh
Avviare lo script con il comando:
./changepwd.sh
Al termine dell’esecuzione dello script tutte le password risultarenno cambiate.
di Francesco Argese - TuxJournal.net