Come creare una condivisione pubblica con samba

Pubblicato il ven 01 luglio 2011 in howto • 1 min read

Io userò Debian GNU/Linux ma sentitevi liberi di scegliere la vostra distro preferita. Come root installate samba, da console digitate:

# apt-get install samba

adesso create l’utente che dovra’ avere i diritti di scrittura e lettura sulla directory da condividere

# adduser --home /home/smbguest --shell /bin/false --disabled-password --disabled-login smbguest

controllate il risultato digitando:

# grep ^smbguest /etc/passwd

questo dovrebbe essere l’output:

smbguest:x:1001:1001:,,,:/home/smbguest:/bin/false

beh magari UID e GID saranno diversi, controllate adesso i permessi della directory creata

# ls -l /home/ | grep smbguest$

l’output dovrebbe essere:

drwxr-xr-x 2 smbguest smbguest 4096  1 lug 17.18 smbguest

Create il file /etc/samba/smbusers in questo modo:

# touch /etc/samba/smbusers
# echo -n "smbguest = guest" > /etc/samba/smbusers

Adesso dovrete modificare il file /etc/samba/smb.conf ma facendone, prima, una copia di backup e creando un file smb.conf vuoto:

# mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
# touch /etc/samba/smb.conf

Aprite il file smb.conf ed incollatevi quello che segue:

[global]
workgroup = WORKGROUP
netbios name = %h
server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
log level = 4
security = user
encrypt passwords = true
passdb backend = tdbsam
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
smb passwd file = /etc/samba/smbpasswd
username map = /etc/samba/smbusers
map to guest = Bad User
guest account = smbguest

[public]
comment = Files pubblici
path=/home/smbguest
guest ok = yes
guest only = yes
browseable = yes
public = yes
writeable = yes
create mask = 0644
directory mask = 0755
force user = smbguest
force group = smbguest

Riavviate samba

# /etc/init.d/samba restart

Avete finito, dovreste ora poter accedere da Windows alla condivisione pubblica “public” altrimenti avete sbagliato qualche passaggio. Se è così ricontrollate.