di Calogero Bonasia
(http://www.linuxteam.it)
Recentemente un cliente mi ha chiesto di individuare su un sistema Linux quali fossero, se ve ne fossero, i file non utilizzati e se vi fossero anche gruppi o utenti in disuso. Scriviamo in una shell dei comandi:
cosacerchiamo="/dev /etc /home /opt /usr /var"
premiamo invio e scriviamo anche
profondo="3"
quindi possiamo dire
/usr/bin/find $cosacerchiamo -depth -maxdepth $profondo -xdev -nouser -nogroup
Possiamo infilare tutto in uno script, se viene più comodo. Analogamente questo script permette di trovare gli utenti che non sono proprietari di file
#/bin/bash cosacerchiamo="/dev /etc /home /opt /usr /var" profondo="3" for u in `/bin/grep -v 'root' /etc/passwd |/bin/cut -d: -f1` do echo -n "$u..." x=`/usr/bin/find $cosacerchiamo -depth -maxdepth $profondo -xdev -user $u |wc -l` if [ $x -gt 0 ]; then echo "non cancellabile" else echo "cancellabile" fi done
Se vogliamo estendere la cosa ai gruppi, ecco cosa aggiungere allo script
for g in `/bin/grep -v 'root' /etc/group |/bin/cut -d: -f1` do echo -n "$g..." x=`/usr/bin/find $cosacerchiamo -depth -maxdepth $profondo -xdev -group $g |wc -l` if [ $x -gt 0 ]; then echo "non cancellabile" else echo "cancellabile" fi done