Installazione e configurazione di Samba 3.0.14a su Slackware 10.1
Ottenere Samba
Potete scaricare Samba nel sito ufficiale Samba.org, ad oggi la versione current è la 3.0.14a.
Compilazione e installazione
Scaricate il pacchetto e scompattatelo con:
$ tar xvzf samba-3.0.14a.tar.gz
Per compilare Samba eseguite:
$ ./configure --sysconfdir=/etc --prefix=/usr --with-smbmount
Le opzioni specificano:
--sysconfdir
La directory in cui installare i files di configurazione
--prefix
La directory principale del programma
--with-smbmount
Attivazione della caratteristica smbmount per montare partizioni samba come fossero dischi locali.
Inoltre questa caratteristica è richiesta da SMB Web Client, un client samba in php che permette di navigare in Samba col browser web.
A questo punto si può compilare e installare Samba:
$ make # make install
Per automatizzare il lancio di Samba all’avvio si può utilizzare il file /etc/rc.d/rc.samba dandogli i permessi di esecuzione:
# chmod +x /etc/rc.d/rc.samba
Ecco il mio rc.samba:
#!/bin/sh
#
# /etc/rc.d/rc.samba
#
# Start/stop/restart the Samba SMB file/print server.
#
# To make Samba start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.samba
#
samba_start() {
if [ -x /usr/sbin/smbd -a -x /usr/sbin/nmbd -a -r /etc/smb.conf ]; then
echo "Starting Samba: /usr/sbin/smbd -D"
/usr/sbin/smbd -D
echo " /usr/sbin/nmbd -D"
/usr/sbin/nmbd -D
fi
}
samba_stop() {
killall smbd nmbd
}
samba_restart() {
samba_stop
sleep 2
samba_start
}
case "$1" in
'start')
samba_start
;;
'stop')
samba_stop
;;
'restart')
samba_restart
;;
*)
# Default is "start", for backwards compatibility with previous
# Slackware versions. This may change to a 'usage' error someday.
samba_start
esac
Configurazione: smb.conf
Per una guida completa leggete qui.
Le opzioni di configurazione possono essere di 2 tipi fondamentali:
- global, appaiono solo nella sezione [global] e definiscono i comportamente generali del server Samba
- share, appaiono all’interno di specifiche share e definiscono il comportamento riguardo alla specifica share. Se appaiono in [global] definiscono i comportamenti di default.
Qualsiasi opzione deve essere inclusa una una sezione. Esistono le seguenti sezioni speciali:
[global] Sempre presente, di solito ad inizio file, definisce le opzioni di default valide per tutte le condivisioni (possono essere sovrascritte da opzioni contrarie presenti nelle specifiche sezioni) e i parametri generali di configurazione del server.
[printers] E’ una sezione speciale utilizzata per condividere l’accesso via rete a delle stampanti
[homes] E’ una sezione speciale che coincide con la home directory di un utente autenticato. Di fatto è una condivisione generica con il nome dell’utente che accede a Samba.
Oltre a queste sezioni speciali ne possono esistere un numero arbitrario di altre, il nome di ogni sezione coincide con il nome della relativa condivisione, così come appare al client SMB.
Qui di seguito il mio file smb.conf:
[global]
workgroup = Tommyblue.it
netbios name = Tommyblue
server string = Desktop
hosts allow = ALL
log file = /var/log/samba/samba.%m
max log size = 500
log level = 3
guest account = samba-guest
smb passwd file = /etc/samba/smbpasswd
encrypt passwords = yes
[netlogon]
path = /samba/logon
public = no
Comment = share to domain logon
writable = no
browsable = no
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = yes
writable = no
printable = yes
public = yes
[public]
comment = Public Stuff
path = /home/samba-guest
public = yes
writable = yes
printable = no
create mask = 0765
guest ok = yes
[Dati]
path = /mnt/dati
public = yes
writable = yes
printable = no
create mask = 0765
guest ok = yes
NOTA:
Nonostante l’opzione –sysconfdir Samba cerca il file smb.conf in /usr/lib, ho quindi creato un link simbolico in /etc:
# cd /etc # ln -s /usr/lib/smb.conf
Configurazione: smbpasswd
smbpasswd è l’applicazione che gestisce le password e gli utenti di samba. Per far funzionare l’applicazione dovete creare il percorso di smbpasswd specificato in smb.conf [/etc/samba]
A questo punto per abilitare gli utenti ad accedere alle vostre condivisioni dovete aggiungerli al file smbpasswd.
Per prima cosa gli utenti di Samba devono anche essere utenti del sistema, quindi aggiungeteli se non esistono.
Per avere una panoramica completa su smbpasswd lanciate:
$ man smbpasswd
Di seguito alcuni semplici esempi:
* Creare un utente senza password
# smbpasswd -n -a utente
