Samba server How-to pratico
Da Wizard linux team wiki.
Contents |
Che cos'è
Samba è un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.
Samba è liberamente disponibile, al contrario di altre implementazioni SMB/CIFS, e permette di ottenere interoperabilità tra Linux, Unix, Mac OS X e Windows.
Samba è un software che può girare su piattaforme che non siano Microsoft Windows, per esempio, UNIX, Linux, IBM System 390, OpenVMS e altri sistemi operativi. Samba utilizza il protocollo TCP/IP utilizzando i servizi offerti sul server ospite. Quando correttamente configurato, permette di interagire con client o server Microsoft Windows come se fosse un file e print server Microsoft agendo da Primary Domain Controller (PDC) o come Backup Domain Controller, può inoltre prendere parte ad un dominio Active Directory.
Samba, quindi, è un pacchetto software che dà all'amministratore flessibilità e libertà in termini di installazione, configurazione, e scelta di sistema operativo e hardware. Grazie a questa ampia offerta, Samba è diventato molto popolare, e continua ad esserlo, ogni anno sempre di più fin dal suo rilascio nel 1992.
Il nome "samba" deriva dall'inserzione di 2 vocali nel nome del protocollo usato da Microsoft "SMB" (server message block). Originariamente si chiamava smbserver ma fu cambiato a causa dell'azienda "Syntax" che vendeva un prodotto chiamato TotalNet advanced Server e possedeva il marchio SMBserver.
Samba configura share (condivisioni) per le directory UNIX scelte (incluse le sottodirectory). Queste appaiono agli utenti di Microsoft Windows come normali cartelle di Windows accessibili via rete. Gli utenti Unix possono effettuare il mount delle directory condivise direttamente nell'albero del filesystem o, in alternativa, è possibile usare una utility, smbclient installata con samba per leggere le directory condivise mediante un'interfaccia simile a quella del programma FTP via linea di comando. Ogni directory può avere differenti privilegi di accesso sovrapposti ai normali privilegi UNIX. Per esempio: le home directory potrebbero essere accessibili in lettura/scrittura a tutti gli utenti riconosciuti dal sistema permettendo ad ogni utente di accedere ai propri file. Comunque potrebbero non avere l'accesso ai file degli altri utenti a meno che questo permesso non sia normalmente previsto. Notare che /etc/samba/netlogon, tipicamente distribuita come condivisione in sola lettura, è la directory di logon per gli script di logon dell'utente.
Installazione
E' disponibile per tutte le distribuzioni. Per l'installazione, quindi, basta installare i seguenti pacchetti:
- samba (serve per entrambi i modi descritti)
- winbind (serve solo per la modalità AD)
Configurazione in modalità SHARE (senza AD)
In questa modalità non c'è nessun tipo di controllo sugli utenti e tutte le directory condivise sono accessibili da tutti. Per fare ciò basta trovare il parametro security (che per default è commentato dal ; e mettere al posto di user il parametro share. Per la configurazione delle directory condivisi ci si può aiutare utilizzando webmin il cui tutorial lo trovate sempre all'interno del forum all'indirizzo http://wlt.netsons.org/wiki/index.php/WEBMIN:_Una_serie_di_tools_per_controllare_la_vostra_GNU/Linux_box_sia_server_che_client. Bisogna ricordarsi, altresì, di abilitare l'accesso all'untente 'guest. Riporto sotto per complatezza la configurazionedi una directory condivisa con permessi 777
[Scambio]
delete readonly = yes
writeable = yes
invalid users =
path = <path_della_directory_da condividere>
force directory mode = 777
force group = root
force create mode = 777
force user = root
create mode = 777
public = yes
directory mode = 777
Commento dei parametri
- delete readonly: (yes/no) Ammette la cancellazione o no dei file con il flag di sola lettura (comodo per l'accesso di documenti che quando aperti creano il file di lock)
- writeable: (yes/no) Imposta il permesso di lettura/scrittura sulla directory
- path: Path della directory da condividere
- force directory mode:modo della directory
- force group:forzatura del gruppo
- force create mode:forzatura della creazione della directory
- force user: forzatura dell'utente
- create mode:forzatura della creazione
- public:(yes/no) dichiara se la directory è pubblica
- directory mode: modo della directory
Configurazione in modalità DOMINIO Active Directory
Con questa modalità è possibile configurare il samba per collegarsi al dominio Active Directory e quindi gestire le home directory degli utenti e le directory condivise specificando permessi di lettura e scrittura.
file smb.conf
[global] log file = /var/log/samba/log.%m ldap ssl = No restrict anonymous = no idmap gid = 10000-20000 socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 domain master = no encrypt passwords = yes template shell = /bin/bash max protocol = NT server string = Samba Server %v idmap uid = 10000-20000 winbind enum users = yes password server = 10.10.11.226 local master = no workgroup = MY_DOMAIN winbind enum groups = yes server signing = Auto os level = 32 security = domain preferred master = no max log size = 50 winbind separator = / [homes] comment = Home Directories path = /Datas/user browseable = no writable = yes public = no valid users = COMUNEVT/%U create mode = 0777 directory mode = 0777
Parametri di rilievo
- password server: indirizzo ip del controllore AD
- workgroup: nome del dominzio AD
- security: tipo di sicurezza che in questo caso deve essere impostata a domain
file nsswitch.conf
# # /etc/nsswitch.conf # # An example Name Service Switch config file. This file should be # sorted with the most-used services at the beginning. # # The entry '[NOTFOUND=return]' means that the search for an # entry should stop if the search in the previous entry turned # up nothing. Note that if the search failed due to some other reason # (like no NIS server responding) then the search continues with the # next entry. # # Legal entries are: # # nisplus or nis+ Use NIS+ (NIS version 3) # nis or yp Use NIS (NIS version 2), also called YP # dns Use DNS (Domain Name Service) # files Use the local files # db Use the local database (.db) files # compat Use NIS on compat mode # hesiod Use Hesiod for user lookups # [NOTFOUND=return] Stop searching if not found so far # # To use db, put the "db" in front of "files" for entries you want to be # looked up first in the databases # # Example: #passwd: db files nisplus nis #shadow: db files nisplus nis #group: db files nisplus nis passwd: files winbind shadow: files group: files winbind #hosts: db files nisplus nis dns hosts: files nisplus nis dns # Example - obey only what nisplus tells us... #services: nisplus [NOTFOUND=return] files #networks: nisplus [NOTFOUND=return] files #protocols: nisplus [NOTFOUND=return] files #rpc: nisplus [NOTFOUND=return] files #ethers: nisplus [NOTFOUND=return] files #netmasks: nisplus [NOTFOUND=return] files bootparams: nisplus [NOTFOUND=return] files ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: nisplus publickey: nisplus automount: files nisplus aliases: files nisplus
I comandi
- net join -U Administrator: Aggancia al dominio il samba server
- wbinfo -u: Interroga il PDC e visualizza l'elenco degli utenti
- wbinfo -g: Interroga il PDC e visualizza l'elenco dei gruppi
Links
Sito ufficiale: http://www.samba.org
Wiki da dove è sata presa la definizione: http://it.wikipedia.org/wiki/Samba_(software)

