Samba server How-to pratico

Da Wizard linux team wiki.

Jump to: navigation, search

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)

wizard linux team