Vi sono tre daemons:
smbd - si occupa di condivisione file e domain controller (log in /var/log/samba/smbd.log)
nmbd - è responsabile per il protocollo netbios, nome dei client e browsing
winbindd - è utilizzato quando samba è parte di un dominio, permette a linux di avere a disposizione i dati degli utenti e gruppi
Comandi di samba:
- net - Stile windows permette di settare samba come parte di un dominio ed altre operazioni amministrative
- smbstatus, smbcontrol - per gestire samba per modificare il livello di logging, vedere le connessioni attuale e per forzare il ricarico dei settaggi
- smbclient -L permette di vedere lo stato del servizio samba
- smbpasswd -a per aggiungere un utente
- smbclient -L permette di vedere lo stato del servizio samba
- smbpasswd -a per aggiungere un utente
Parametri Vari
nella sezione [global] è utile la seguente opzione per tenere conto delle permission di windows:
store dos attributes = yes
- L'opzione:
passdb backend = tdbsam
dice a samba di utlizzare il proprio database /etc/samba/passdb.tdb per le informazioni sulle utenze
- in linux gli utenti che non sono autenticati utilizzano l'utente nobody.
- Per questo vi sono le opzioni:
read only
writeable
write list
read list
browseable
valid users = @admin test (@ è seguito dal gruppo di interesse)
invalid users
- se uno stesso utente è presente in entrambi i gruppi questi non ha accesso.
- E' interessante l'opzione:
Admin Users
in questo modo l'accesso viene eseguito come root
- La seguente opzione:
username map
permette di abilitare alcuni utenti window ad accere al server samba senza per questo avere accesso con account linux/samba.
Un esempio è il seguente:
root = Admin Administrator
In questo modo l'utente admin e administrator utilizzeranno l'account root per accedere al server samba
- Lista di variabili in smb.conf:
%I - Ip macchina
%m - nome netbios
%M - nome DNS
%u - user id utente corrente
%U - user id del client che ha effettuato l'accesso
%g - gruppo di %u
%D - directory utente di %u
%S - nome della condivisione corrente
%P - radice della condivisione corrente
%h - nome server DNS samba
%L - nome netbios del server samba
%v - versione di samba
- N.B. nel caso delle home degli utenti, avendo questo il nome uguale all'utente, si può usare la sintassi:
- Sicurezza in samba:
[global]
interfaces eth0 eth1
bind interfaces = YES
follow symlinks = no serve per disattivare il funzionamento dei link sotto samba
Gli ultimi due statement dicono che solo le interfacce sono abilitate per condividere via samba
- Le porte utilizzate da samba sono la 137,138,139 e 445
- valid users = %S
- Nel caso delle home questa deve appartenere all'utente stesso
- N.B. Per ogni utente che si autentica samba accederà alle cartelle con quell'utente, per questo è giusto settare le giuste permission
- Dominio
[global]
workgroup = DOMINIO
netbios name = SERVER1
security string = PDC
security = USER
smb passwd file (/etc/samba/smbpasswd
encrypt passwords = YES
log file = /var/log/samba/%m.log
max log size = 100
log level = 1
#lo imposta come master browser
os level = 255 - ci si pone al di sopra di tutte le preferenze
preferred master = YES
local master = YES - Tiene aggiornato le risorse di rete -
domain master = YES - il server riceve gli elenchi di tutte le sottoreti e fa da collante
domain logons = YES per Windows 98
win support = YES - il server samba funge anche da wins e va abilitato su ogni singolo client
#imposta homedir
logon home = \\server1\homedir
logon drive = U:
#imposta profili mobili
logon path = \\server1\profili\%u
#impostra script di logon
logon script = logon.bat
[netlogon]
path = /usr/local/samba/netlogon
read only = YES
write list = root
[profili]
path = /usr/local/samba/profili
read only = NO
writable = YES
browsable = NO
create mask = 0600
directory mask = 0700
[homedir]
path = /home/%u
read only = NO
writable = YES
browsable = NO
create mask = 0600
diretory mask = 0700
hide dot files = YES
Va creato l'utente e il nome della macchina come facente parte del dominio con il comando:
- Lista di variabili in smb.conf:
%I - Ip macchina
%m - nome netbios
%M - nome DNS
%u - user id utente corrente
%U - user id del client che ha effettuato l'accesso
%g - gruppo di %u
%D - directory utente di %u
%S - nome della condivisione corrente
%P - radice della condivisione corrente
%h - nome server DNS samba
%L - nome netbios del server samba
%v - versione di samba
- N.B. nel caso delle home degli utenti, avendo questo il nome uguale all'utente, si può usare la sintassi:
- Sicurezza in samba:
[global]
interfaces eth0 eth1
bind interfaces = YES
follow symlinks = no serve per disattivare il funzionamento dei link sotto samba
Gli ultimi due statement dicono che solo le interfacce sono abilitate per condividere via samba
- Le porte utilizzate da samba sono la 137,138,139 e 445
- valid users = %S
- Nel caso delle home questa deve appartenere all'utente stesso
- N.B. Per ogni utente che si autentica samba accederà alle cartelle con quell'utente, per questo è giusto settare le giuste permission
- Dominio
[global]
workgroup = DOMINIO
netbios name = SERVER1
security string = PDC
security = USER
smb passwd file (/etc/samba/smbpasswd
encrypt passwords = YES
log file = /var/log/samba/%m.log
max log size = 100
log level = 1
#lo imposta come master browser
os level = 255 - ci si pone al di sopra di tutte le preferenze
preferred master = YES
local master = YES - Tiene aggiornato le risorse di rete -
domain master = YES - il server riceve gli elenchi di tutte le sottoreti e fa da collante
domain logons = YES per Windows 98
win support = YES - il server samba funge anche da wins e va abilitato su ogni singolo client
#imposta homedir
logon home = \\server1\homedir
logon drive = U:
#imposta profili mobili
logon path = \\server1\profili\%u
#impostra script di logon
logon script = logon.bat
[netlogon]
path = /usr/local/samba/netlogon
read only = YES
write list = root
[profili]
path = /usr/local/samba/profili
read only = NO
writable = YES
browsable = NO
create mask = 0600
directory mask = 0700
[homedir]
path = /home/%u
read only = NO
writable = YES
browsable = NO
create mask = 0600
diretory mask = 0700
hide dot files = YES
Va creato l'utente e il nome della macchina come facente parte del dominio con il comando:
useradd -g domaincomputers -d /dev/null -s /bin/false nomemachina$
viene creato il nome macchina nel gruppo "domaincomputers" preventivamente creato
smbpasswd -a -m nomemacchina
-m dice che stiamo aggiungendo un utente computer e non di un utente
va creata la password per l'utente root:
smbpasswd -a root
- Collegarsi ad una share di rete con smbclient:
smbclient //Centos02/share2 -W WORKGROUP -U test
Enter test's password: inserire la password
se tutto va bene apparirà:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.28.el5]
smb: \> ls