Internet è il postino dei nostri tempi che nessun cane azzannerà.
Ora che finalmente abbiamo avviato Samba, facciamo la join del server al nostro dominio nuovo fiammante, controlliamo che funzioni e creiamo un paio di script bash utili per la manutenzione del sistema
Per prima cosa dobbiamo unire il nostro server al dominio (che traduzione orrenda: diciamo che dobbiamo fare la join...), con il comando :
sudo net rpc join -S ARCHI -U Administrator
Joined domain MEDE.
sudo getent passwd
archi$:*:5004:515:Computer:/dev/null:/bin/false
Controlliamo subito. Facciamolo con i comandi di Samba, così siamo sicuri che sia lui a rispondere alle nostre richeste:
sudo pdbedit -L
Administrator:0:Administrator
guest:5000:guest
commerciale1:5001:commerciale1
tecnico1:5002:tecnico1
archi$:5004:Computer
sudo smbclient -L localhost -U administrator
Domain=[MEDE] OS=[Unix] Server=[Samba 3.0.28]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (archi PDC (3.0.28))
print$ Disk Printer Drivers
apps Disk Y: - Applicazioni
rootdir Disk Cartella globale, solo per amministrazione e backup
public Disk L: - Cartella Pubblica Utenti
Administrator Disk K: - Cartella privata di administrator, Administrator
Domain=[MEDE] OS=[Unix] Server=[Samba 3.0.28]
Server Comment
--------- -------
ARCHI archi PDC (3.0.28)
Workgroup Master
--------- -------
MEDE ARCHI
Nella puntata precedente abbiamo abilitato il plugin Samba per gestire il cestino del server: ogni utente che cancella i file in realtà li sposta nella cartella .cestino/nomeutente che abbiamo definito. Capirete anche voi che non possiamo lasciarli lì per sempre ma abbiamo bisogno di purgare i cestini di tanto in tanto per mantenere il sistema pulito dalla spazzatura.
Chi ha conosciuto Novell Netware non può non ricordare il comando purge che svolgeva egregiamente questa funzione, purtroppo qui non abbiamo niente di simile, e dobbiamo arrangiarci con bash. Tranquilli, ci ho già pensato io qualche anno fa, niente di eclatante ma svolge la sua funzione in modo preciso. Creiamo il file:
sudo nano /bin/purge
#!/bin/bash
- purge
- Vuota il cestino degli utenti e di sistema
- by steno 2005-2007
- Controlla i parametri
if [ $# = 0 ]
then
echo "uso: purge {all|}"
exit;
else
if [ $1 = 'all' ]
then
DIR=`ls /home -F | awk '/\/$/ {sub( /\/$/,""); print}'`;
else
DIR=$1;
fi;
fi;
- Vuota il cestino privato degli utenti
for user in $DIR; do
if [ -e /home/$user/.cestino ];
then
X="`(cd /home/$user/.cestino ; echo *)`";
if [ ! "$X" = "*" ] ; then
echo "Elimina file dal cestino utente <$user>";
rm /home/$user/.cestino/* -r;
else
echo "Cestino personale utente <$user> vuoto";
fi;
fi;
done;
- Vuota il cestino globale di "public"
DIR=`ls /samba/public/.cestino -F | awk '/\/$/ {sub( /\/$/,""); print}'`;
for user in $DIR; do
X="`(cd /samba/public/.cestino/$user ; echo *)`";
if [ ! "$X" = "*" ] ; then
echo "Elimina file dal cestino globale utente <$user>" ;
rm /samba/public/.cestino/$user -R;
else
echo "Cestino globale utente <$user> vuoto";
fi
done;
sudo chmod 755 /bin/purge
sudo mkdir /samba/public/.cestino
sudo chmod 770 /samba/public/.cestino
sudo chgrp "Domain Users" /samba/public/.cestino
Questo script si usa meno del precedente, ma in alcuni casi è molto utile. Cosa fà lo script ? Semplice, corregge i permessi su file e directory delle home degli utenti. A volte magari, come amministratore, si ripristinano, copiano o spostano dei file da una cartella di un utente ad un altro e poi dobbiamo manualmente lavorare di chown e chmod per sistemare il tutto. Lo script setchown lo fa da solo spazzolando tutte le home degli utenti (con i parametro all) correggendo permessi e proprietà. Creiamo il file:
sudo nano /bin/setchown
#!/bin/bash
- setchown
- Setta il proprietario della home dir e dei file allo user
- escludi dal processo le home listate nella var "exclude"
exclude="httpd ftp amavis";
- Controlla i parametri
if [ $# = 0 ]
then
echo "uso: setchown {all|}"
exit;
else
if [ $1 = 'all' ]
then
DIR=`ls /home -F | awk '/\/$/ {sub( /\/$/,""); print}'`;
else
DIR=$1;
fi;
fi;
for user in $DIR; do
mask=${exclude#*$user};
if [ "$mask" = "$exclude" ]
then
chown $user /home/$user -R
chmod 700 /home/$user
echo "Permessi corretti in /home/$user";
fi
done
sudo chmod 755 /bin/setchown
Ora possiamo riabilitare il firewall. Prima modifichiamo il file rules:
sudo nano /etc/shorewall/rules
SMB/ACCEPT $FW loc
SMB/ACCEPT loc $FW
Per riavviare il servizio usiamo il comando shorewall, così vediamo se abbiamo commesso sbagli:
sudo shorewall start
In teoria sì, in pratica no. Per domini semplici da pochi utenti potreste essere già ok, ma la realtà è ben diversa dalla teoria e nel prossimo post scoprirete uno dei perché con un semplice esempio.
A presto.
Recent comments
1 min 12 sec ago
1 week 1 day ago
3 weeks 20 hours ago
4 weeks 3 days ago
7 weeks 6 days ago
13 weeks 1 hour ago
13 weeks 3 days ago
15 weeks 5 days ago
16 weeks 3 days ago
19 weeks 22 hours ago