Configurare SAMBA
Indietro
Avanti

Configurare SAMBA

Il server SAMBA si configura attraverso la modifica del file /etc/samba/smb.conf per aggiungere o cambiare le impostazioni di default. Nei commenti del file /etc/samba/smb.conf l'utente può trovare altri dettagli sulla configurazione oppure consultando il manuale di /etc/samba/smb.conf digitando il seguente comando:

man smb.conf

Suggerimento

Prima di modificare il file di configurazione, è consigliato creare una copia del file originale e proteggerla dalla scrittura, in modo da mantenere le impostazioni originali a disposizione come riferimento e per il riuso secondo necessità.

Fare una copia di backup del file /etc/samba/smb.conf:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original

Ora, editare il file /etc/samba/smb.conf e apportare i cambiamenti desiderati.

Server

In aggiunta alla suite SAMBA per la gestione di un server con tutte le sue applicazioni, Ubuntu offre altre potenti applicazioni per aumentare le funzionalità dei servizi offerti ai client Windows, molto simili a quelli offerti dai server Windows. Ubuntu offre la gestione centralizzata delle risorse della rete con Directory Services e facilita l'identificazione e l'autorizzazione di computer o utenti mediante Authentication Serivces.

Le seguenti sezioni trattano in dettaglio di SAMBA e delle tecnologie di supporto, quali server LDAP (Lightweight Directory Access Protocol) e server d'autenticazione Kerberos. Sono esposte anche alcune delle direttive di configurazione disponibili nel file di configurazione di SAMBA che possono facilitare l'integrazione in rete con client e server Windows.

Active Directory

Active Directory è un'implementazione proprietaria di Microsoft di Directory Services in grado di fornire i mezzi necessari a condividere le informazioni sugli utenti e sulle risorse della rete. Oltre a offrire una sorgente centralizzata per queste informazioni, Active Directory agisce come autorità centrale per l'autenticazione nella rete. Active Directory combina le funzionalità di servizi di directory specializzati, in modo tale da semplificare l'integrazione, la gestione e la sicurezze delle risorse di rete. La suite SAMBA può essere configurata per utilizzare i servizi di Active Directory forniti da un Windows Domain Controller.

LDAP

Il server LDAP fornisce, in maniera molto simile ai servizi Microsoft Active Directory, le funzionalità dei Directory Services ai computer Windows: questi servizi forniscono i mezzi per descrivere, localizzare e gestire le risorse della rete. L'implementazione libera di LDAP disponibile in Ubuntu si chiama OpenLDAP. I demoni del server responsabili della gestione delle richieste della directory OpenLDAP e della distribuzione dei dati custoditi in un server LDAP in un altro sistema Ubuntu si chiamano slapd e slurpd. OpenLDAP può essere utilizzato in combinazione con SAMBA per fornire Directory Services e la condivisione di file e stampanti, più o meno nello stesso modo con il quale un Windows Domain Controller interagisce con un server SAMBA compilato con il supporto LDAP.

Kerberos

The Kerberos authentication security system is a standardized service for providing authentication to computers and users by means of a centralized server which grants encrypted authorization tickets accepted for authorization by any other computer using Kerberos. Benefits of Kerberos authentication include mutual authentication, delegated authentication, interoperability, and simplified trust management. The primary server daemons for handling the Kerberos authentication and Kerberos database administration on Ubuntu are krb5kdc and kadmin. SAMBA may use Kerberos as a mechanism for authenticating computers and users against a Windows Domain Controller. To do so, the Ubuntu system must have Kerberos installed, and the /etc/samba/smb.conf must be modified to select the the proper realm and security mode. For example, edit the /etc/samba/smb.conf file and add the values:

realm = NOME_DOMINIO

security = ADS

al file, e quindi salvarlo.

Suggerimento

Assicurarsi di sostiutire il token NOME_DOMINIO, utilizzato nell'esempio precedente, con il nome del dominio Windows.

Per rendere effettivi i cambiamenti apportati, è necessario riavviare i demoni SAMBA. Per riavviare i demoni SAMBA, inserire in un terminale il seguente comando:

sudo /etc/init.d/samba restart

Account computer

Nei Directory Services gli account del computer sono utilizzati per identificare univocamente i computer presenti nella rete. Dal punto di vista della sicurezza sono trattati come degli account utente, pertanto possono avere delle password e sono soggetti ad autorizzazioni per l'accesso alle risorse di rete. Ad esempio, se un utente con un account valido tenta di accedere a una risorsa da un computer che non possiede un account valido, a seconda delle politiche di sicurezza applicate, l'accesso alla risorsa potrebbe essere negato se il computer dal quale l'utente sta effettuando l'autenticazione non possiede le necessarie autorizzazioni.

Un account del computer può essere aggiunto al database degli account di SAMBA fornendo il nome del computer, purché questo non sia già presente come account utente. Per aggiungere un account del computer al database degli account di SAMBA, bisogna utilizzare, in un terminale, il comando smbpasswd:

sudo smbpasswd -a -m NOME_COMPUTER

Suggerimento

Assicurarsi di sostituire il token NOME_COMPUTER, utilizzato nell'esempio precedente, con il nome del computer per il quale si vuole creare un account.

Permessi dei file

I permessi di accesso ai file indicano esplicitamente le operazioni consentite a un computer o a un utente su una particolare directory, un determinato file oppure un insieme di file. Questi permessi possono essere definiti modificando il file /etc/samba/smb.conf e specificando i permessi per una condivisione. Ad esempio, se l'utente ha definito una condivisione SAMBA chiamata sourcedocs e desidera concedere i permessi di sola lettura al gruppo planning, concedendo però i permessi di scrittura al gruppo authors e all'utente mario, è necessario modificare il file /etc/samba/smb.conf, aggiungendo le seguenti righe al di sotto di [sourcedocs]:

read list = @pianificazione

write list = @autori, mario

Salvare il file /etc/samba/smb.conf affinché i cambiamenti abbiano effetto.

Another possible permission is to declare administrative permissions to a particular shared resource. Users having administrative permissions may read, write, or modify any information contained in the resource the user has been given explicit administrative permissions to. For example, if you wanted to give the user melissa administrative permissions to the example sourcedocs share, you would edit the /etc/samba/smb.conf file, and add the following line under the [sourcedocs] entry:

admin users = melissa

Salvare il file /etc/samba/smb.conf affinché i cambiamenti abbiano effetto.

Client

Ubuntu includes client applications and capabilities for accessing network resources shared with the SMB protocol. For example, a utility called smbclient allows for accessing remote shared file-systems, in a manner similar to a File Transfer Protocol (FTP) client. To access a shared folder resource known as documents offered by a remote Windows computer named bill using smbclient for example, one would enter a command similar to the following at the prompt:

smbclient //silvio/documenti -U <nomeutente>

Viene richiesta la password per il nome utente specificato dopo l'argomento -U e, se l'autenticazione ha avuto successo, viene presentato un prompt in cui è possibile inserire i comandi per manipolare e trasferire i file, usando una sintassi simile a quella usata dai client FTP in modalità non grafica. Per maggiori informazioni sull'applicazione smbclient, leggere la corrispondente pagina di manuale utilizzando il comando:


man smbclient

Local mounting of remote network resources using the SMB protocol is also possible using the mount command. For example, to mount a shared folder named project-code on a Windows server named development as the user dlightman to your Ubuntu system's /mnt/pcode mount-point, you would issue this command at the prompt:

mount -t smbfs -o username=siffredir //sviluppo/codice-progetto /mnt/pcode

You will then be prompted for the user password, and after successfully authenticating, the contents of the shared resource will be available locally via the mount-point specified as the last argument to the mount command. To disconnect the shared resource, simply use the umount command as you would with any other mounted file system. For example:

umount /mnt/pcode

Account utente

User Accounts define persons with some level of authorization to use certain computer and network resources. Typically, in a network environment, a user account is provided to each person allowed to access a computer or network, where policies and permissions then define what explicit rights that user account has access to. To define SAMBA network users for your Ubuntu system, you may use the smbpasswd command. For example to add a SAMBA user to your Ubuntu system with the user name jseinfeld, you would enter this command at the prompt:

smbpasswd -a rbenigni

L'applicazione smbpasswd chiederà tramite il prompt di creare una password per l'utente:

Nuova password SMB:

È necessario digitare la password da assegnare al nuovo utente, l'applicazione smbpasswd ne chiederà la conferma:

Ridigitare la nuova password SMB:

Confermata la nuova password, smbpasswd aggiungerà una nuova voce per l'utente nel file delle password di SAMBA.

Groups

Groups define a collection of computers or users which have a common level of access to particular network resources and offer a level of granularity in controlling access to such resources. For example, if a group qa is defined and contains the users freda, danika, and rob and a second group support is defined and consists of users danika, jeremy, and vincent then certain network resources configured to allow access by the qa group will subsequently enable access by freda, danika, and rob, but not jeremy or vincent. Since the user danika belongs to both the qa and support groups, she will be able to access resources configured for access by both groups, whereas all other users will have only access to resources explicitly allowing the group they are part of.

Nella definizione dei gruppi nel file di configurazione di SAMBA, /etc/samba/smb.conf, è necessario far precedere il nome del gruppo dal simbolo «@». Se, ad esempio, l'utente desiderasse definire un gruppo chiamato sysadmin in una certa sezione del file /etc/samba/smb.conf, dovrebbe nominare il grippo: @sysadmin.

Group Policy

Group Policy defines certain SAMBA configuration settings pertaining to the Domain or Workgroup computer accounts belong to, and other global settings for the SAMBA server. For example, if the SAMBA server belongs to a Workgroup of Windows computers called LEVELONE, then the /etc/samba/smb.conf could be edited, and the following value changed accordingly:

workgroup = LEVELONE

Affiché le modifiche abbiano effetto bisogna riavviare il demone SAMBA.

Altri importanti parametri di configurazione includono server string che definisce il nome del server NETBIOS dichiarato dal sistema Ubuntu alle altre macchine della rete basate sul sistema Windows. Questo è il nome del vostro sistema Ubuntu riconosciuto dai client Windows e dagli altri computer in grado di navigare con il protocollo SMB. È possibile specificare il nome e la posizione del file di log del server SAMBA utilizzando la direttiva log file all'interno del file /etc/samba/smb.conf.

Some of the additional directives governing global group policy include specification of the global nature of all shared resources. For example, placing certain directives under the [global] heading of the /etc/samba/smb.conf file will affect all shared resources unless an overriding directive is placed under a particular shared resource heading. You specify all shares are browseable by all clients on the network by placing a browseable directive, which takes a Boolean argument, under the [global] heading in the /etc/samba/smb.conf. That is, if you edit the file and add the line:

browseable = true

under the [global] section of /etc/samba/smb.conf, then all shares provided by your Ubuntu system via SAMBA will be browseable by all authorized clients, unless a specific share contains a browseable = false directive, which will override the global directive.

Altri esempi di direttive che operano in maniera simile alla precedente sono public e writeable. La direttiva public accetta un valore booleano per decidere se una particolare risorsa condivisa sia visibile a tutti i client autorizzati. Anche la direttiva writeable accetta un valore booleano per decidere se una particolare risorsa condivisa possa essere modificata o meno dai client della rete.

Indietro
Avanti
Partenza