Per installare samba in debian squeeze
apt-get install samba samba-common
apparirà una finestra con la richiesta di indicare il WORKGROUP/DOMAIN
default: WORKGROUP
lasciare invariato o modificare secondo le proprie preferenze
Le porte TCP utilizzate sono la 139 e/o 445 e le porte 137 138 per UDP
Installato samba possiamo controllare che il servizio sia correttamente avviato con
:~$ service samba status nmbd is running. smbd is running.
quindi possiamo controllare che sia correttaamente settato l’avvio del servizio sysv-rc-conf
:~$ sudo sysv-rc-conf -list | grep "samba" samba 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Configurare samba
a questo punto sarà possibile vedere il nuovo server samba. Per poter accedere alle cartelle condivise è necessario creare gli utenti samba, impostandone la specifica password.
Creare gli utenti samba
Per aggiungere un utente samba è necessario disporre di un utente locale.
Un utente locale esistente può essere aggiunto al database degli users samba con:
smbpasswd -a username
:~$ sudo smbpasswd -a mira New SMB password: Retype new SMB password: Added user mira.
Se si desidera creare un nuovo utente da usare come user samba generare un nuovo utente locale con useradd impostare la password e poi aggiungerlo a samba ( altre informazioni su Gestire gli users in Linux da terminale ) :
useradd new-username -m -G users
quindi impostare la password con
passwd new-username smbpasswd -a new-username
samba condividere cartelle
Per aggiungere directory da condividere con samba modificare il file di configurazione smb.conf.
1° controllare che la riga security = user
non sia commentata:
:~$ nano /etc/samba/smb.conf ... ... # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details. security = user ...
2° creare la directory per condividere i files e assegnarli il gruppo users
mkdir -p /media/Biblioteca chown -R root:users /home/samba-share/Biblioteca/ per i permessi di scrittura anche chmod -R ug+rwx,o+rx-w /home/samba-share/Biblioteca/
3° inserire per ogni nuovo share un blocco di questo tipo:
[Bilbioteca] comment = Biblioteca dir path = /media/Biblioteca create mask = 0660 directory mask = 0770
per verificare che non ci siano errori di sintassi nel file smb.conf e possibilie utilizzare il comando:
testparm -s /etc/samba/smb.conf
Uno schema dei numeri usati per precisare i permessi: cioè un decimale per ciascuna rappresenzione binaria delle tre classi di utente, è presente in fondo al post Comandi Linux: elencare, cercare e gestire files e directories
Riavviare samba
Quando si apportano modifiche al file smb.conf è necessario riavviare samba con :
service samba restart
per consentire a tutti gli utenti di accedere e modificare la propria home directory
aggiungere il seguente blocco a smb.conf:
[homes] comment = Home Directories browseable = no valid users = @users writable = yes create mask = 0700 directory mask = 0700
alternativa per homes
[homes] comment=Home directory for %S path=/home/%u valid users = %u administrator force user=%u writeable = yes browseable = no
Parametri per Samba
- browseable definisce se lo schareè mostrato ( yes o not ) default = yes
- hide dot file nasconde o mstra i files nascosti ( yes o not ) default = yes
- path percorso directory share
- create mask default 0664 per settare i permessi sui nuovi file
- directory mask default 0775 permessi da assegnare alle directory
- guest ok permette quest access default = no
- valid users quali users hanno il permesso di accedere defaut tutti gli users
- invalid users
- read only rende uno share in sola lettura dafult = yes
- writeable rende uno share read/write default = no
- read list elenco degli users o gruppi con il permesso di lettura
- write list elenco degli users o gruppi con il pemesso di scrittua
Mount da teminale di una connessione samba
Il mounting da teminale di una cartella remota condivisa utilizza smb avviene con un comando del tipo:
mount -t cifs -o username=bepi //192.168.1.153/codice /media/codice
oppure la forma contratta
mount.cifs -o user=bepi //192.168.1.153/codice /media/codice
e possibile utlizzare l’opzione password= o pass= tuttavia, se non si ha la nìecessità di un mount permanente, meglio digitare la password solo su richiesta.
Esempio comunque di montaggio smb con inserimento della password
mount -t cifs -o user=eurotech,pass=’eurotech’ //192.168.77.7/ext4 /mnt/amd2000asus/ext4 o mount -t smbfs -o username=eurotech,password=’eurotech’ //192.168.77.7/ext4 /mnt/amd2000asus/ext4
Test di una connessione samba
Per testare una connessione samba si può utilizzare smbclient:
:~$ smbclient -L 192.168.1.3 -N Anonymous login successful Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (ubuSer1210 server (Samba, Ubuntu)) scambio-temp Disk condividi files e archivio temporaneo archivio Disk Biblioteca - archivio print$ Disk Printer Drivers
Risorse nel blog:
- Samba in Ubuntu con nautilus share
- ssh tunnel per accedere a servizi http, postgresql, samba in remoto
- Documentazione Gentoo Linux — Introduzione a Samba, Parte 3
- Come controllare che un servizio (service) sia in esecuzione in linux
- fstab : file system table – mtab : mounted file system table
- Making Windows XP join a SAMBA domain in 5 minutes — Rudd-O.com in English
- Samba in debian squeeze e ubuntu linux via terminale