3 155
contributi
Wtf (discussione | contributi) |
Wtf (discussione | contributi) |
||
Riga 109: | Riga 109: | ||
** <code>printing</code> | ** <code>printing</code> | ||
** <code>load printers</code> | ** <code>load printers</code> | ||
* ''GENERICI'', ovvero che possono essere dichiarati in entrambi i tipi di sezioni; in linea generale se un parametro viene definito sia nella sezione <code>global</code> che in una specifica allora per quanto riguarda la suddetta risorsa sarà utilizzato come valore quanto dichiarato localmente. | * ''GENERICI'', ovvero che possono essere dichiarati in entrambi i tipi di sezioni; in linea generale se un parametro viene definito sia nella sezione <code>global</code> che in una specifica allora per quanto riguarda la suddetta risorsa sarà utilizzato come valore quanto dichiarato localmente. | ||
** <code>allow hosts</code>/<code>hosts allow</code> | ** <code>allow hosts</code>/<code>hosts allow</code> | ||
Riga 124: | Riga 118: | ||
** <code>read only</code> | ** <code>read only</code> | ||
** <code>writeable</code>/<code>writable</code> | ** <code>writeable</code>/<code>writable</code> | ||
* ''SPECIFICI'', ovvero che possono essere inseriti nelle sole sezioni dedicate alle singole risorse | |||
** <code>comment</code> | |||
** <code>path</code> | |||
** <code>printable</code> | |||
** <code>preexec</code> | |||
** <code>postexec</code> | |||
==== | ==== Parametri globali ==== | ||
<pre> | <pre> | ||
[global] | [global] | ||
allow hosts = 192.168.1.0/24 | allow hosts = 192.168.1.0/24 | ||
workgroup = debianizzati | workgroup = debianizzati | ||
server string = server@debianizzati.org | |||
security = user | |||
guest account = ospite | |||
map to guest = Bad User | |||
username map = /etc/samba/utenti.map | |||
netbios name = debianizzati | |||
netbios aliases = alias1 ... aliasN | |||
include = /etc/samba/smb.conf.%L | |||
</pre> | </pre> | ||
* <code>'''allow hosts'''</code>: range di IP ai quali è permesso l'accesso a tutte le risorse specificate nel seguito del file di configurazione; in questo caso vengono accettati tutti gli indirizzi compresi tra 192.168.1.1 e 192.168.1.254. Si noti che è possibile specificare più indirizzi e/o gruppi di indirizzi semplicemente separandoli con uno spazio, ad esempio <code>allow hosts = 127.0.0.1 192.168.1.0/24</code>. Qualora l'utente non volesse rendere disponibile tutte le risorse agli stessi range di indirizzi allora il parametro <code>allow hosts</code> non dovrebbe essere definito qui, ma in ciascuna delle sezioni dedicate alle singole risorse condivise. Il parametro è sostanzialmente additivo, ovvero il gruppo di indirizzi ammissibile per ogni risorsa è dato dalla somma di quelli specificati in questa sezione e da quelli definiti per la singola risorsa. Questo parametro è del tutto equivalente a <code>hosts allow</code>. | * <code>'''allow hosts'''</code>: range di IP ai quali è permesso l'accesso a tutte le risorse specificate nel seguito del file di configurazione; in questo caso vengono accettati tutti gli indirizzi compresi tra 192.168.1.1 e 192.168.1.254. Si noti che è possibile specificare più indirizzi e/o gruppi di indirizzi semplicemente separandoli con uno spazio, ad esempio <code>allow hosts = 127.0.0.1 192.168.1.0/24</code>. Qualora l'utente non volesse rendere disponibile tutte le risorse agli stessi range di indirizzi allora il parametro <code>allow hosts</code> non dovrebbe essere definito qui, ma in ciascuna delle sezioni dedicate alle singole risorse condivise. Il parametro è sostanzialmente additivo, ovvero il gruppo di indirizzi ammissibile per ogni risorsa è dato dalla somma di quelli specificati in questa sezione e da quelli definiti per la singola risorsa. Questo parametro è del tutto equivalente a <code>hosts allow</code>. | ||
* <code>'''workgroup'''</code>: nome del gruppo di lavoro; non è un parametro critico, nel senso che anche se viene definito un nome differente da quello cui appartengono tutte le altre macchine della rete il risultato è che in windows il nome del server comparirà sotto un differente gruppo di lavoro. | * <code>'''workgroup'''</code>: nome del gruppo di lavoro; non è un parametro critico, nel senso che anche se viene definito un nome differente da quello cui appartengono tutte le altre macchine della rete il risultato è che in windows il nome del server comparirà sotto un differente gruppo di lavoro. | ||
* <code>'''server string'''</code>: stringa che identifica il server. | * <code>'''server string'''</code>: stringa che identifica il server. | ||
* <code>'''security'''</code>: definisce il "modo" con cui samba gestisce l'autenticazione degli utenti. | * <code>'''security'''</code>: definisce il "modo" con cui samba gestisce l'autenticazione degli utenti. | ||
** ''user'': è il valore predefinito, implica che sia il nome delle risorse sia il loro contenuto risultano indisponibili all'utente fintanto che questi non si è autenticato con successo; deroga a questo principio il caso in cui l'utente venga automaticamente autenticato come ospite (si veda ''map to guest''). | ** ''user'': è il valore predefinito, implica che sia il nome delle risorse sia il loro contenuto risultano indisponibili all'utente fintanto che questi non si è autenticato con successo; deroga a questo principio il caso in cui l'utente venga automaticamente autenticato come ospite (si veda ''map to guest''). | ||
** ''share'': è il valore storico, usato come predefinito nelle versioni di samba precedenti la terza; semplificando si può dire che gli utenti possono vedere le risorse, ma non accedervi, anche senza essersi autenticati con successo (quindi chiunque è in grado di vedere l'elenco delle risorse). | ** ''share'': è il valore storico, usato come predefinito nelle versioni di samba precedenti la terza; semplificando si può dire che gli utenti possono vedere le risorse, ma non accedervi, anche senza essersi autenticati con successo (quindi chiunque è in grado di vedere l'elenco delle risorse). | ||
** ''domain'' e ''server'': sono modalità specifiche per reti dove è configurato un dominio e non semplicemente un gruppo di lavoro. | ** ''domain'' e ''server'': sono modalità specifiche per reti dove è configurato un dominio e non semplicemente un gruppo di lavoro. | ||
* <code>'''guest account'''</code>: permette di definire l'utente da usare come utenza guest (il valore predefinito è ''nobody''), in questo esempio l'utente ''ospite'' (che come ogni altro utente deve esistere sia in linux che in samba). | * <code>'''guest account'''</code>: permette di definire l'utente da usare come utenza guest (il valore predefinito è ''nobody''), in questo esempio l'utente ''ospite'' (che come ogni altro utente deve esistere sia in linux che in samba). | ||
* <code>'''map to guest'''</code>: questo parametro torna principalmente utile se si vuol creare una condivisione accessibile a chiunque tramite l'utenza guest (ovvero se si vuole permettere l'accesso ad una o più risorse senza che vengano richieste username e password) quando sia stato impostato <code>security = user</code> o <code>security = domain</code>. Ci sono quattro valori possibili di questo parametro: | * <code>'''map to guest'''</code>: questo parametro torna principalmente utile se si vuol creare una condivisione accessibile a chiunque tramite l'utenza guest (ovvero se si vuole permettere l'accesso ad una o più risorse senza che vengano richieste username e password) quando sia stato impostato <code>security = user</code> o <code>security = domain</code>. Ci sono quattro valori possibili di questo parametro: | ||
Riga 167: | Riga 152: | ||
** ''Bad Password'' e ''Bad Uid'', si veda il manuale. | ** ''Bad Password'' e ''Bad Uid'', si veda il manuale. | ||
* <code>'''username map'''</code>: indica un file testuale contenente la mappatura di uno più utenti, ovvero permette di ''trasformare'' un nome utente in un altro. Ogni riga di tale file (''utenti.map'' nell'esempio) deve contenere il nome linux dell'utente seguito da un uguale e poi dal (o dai) nome windows dello stesso, ad esempio le righe <code>root = admin administrator</code> e <code>mario = "Mario Rossi"</code> mappano i nomi ''admin'' e ''administrator'' a root, mentre "Mario Rossi" a mario. La mappatura dei nomi può tornare ad esempio utile per impedire che uno o più utenti dotati di nome linux differente da quello windows possano accedere inizialmente come guest al server. | * <code>'''username map'''</code>: indica un file testuale contenente la mappatura di uno più utenti, ovvero permette di ''trasformare'' un nome utente in un altro. Ogni riga di tale file (''utenti.map'' nell'esempio) deve contenere il nome linux dell'utente seguito da un uguale e poi dal (o dai) nome windows dello stesso, ad esempio le righe <code>root = admin administrator</code> e <code>mario = "Mario Rossi"</code> mappano i nomi ''admin'' e ''administrator'' a root, mentre "Mario Rossi" a mario. La mappatura dei nomi può tornare ad esempio utile per impedire che uno o più utenti dotati di nome linux differente da quello windows possano accedere inizialmente come guest al server. | ||
* <code>'''netbios name'''</code>: stringa che sostituisce nella maggior parte dei casi (si veda il manuale) l'hostname della macchina (solo per quantoriguarda la visualizzazione da parte dei client). | |||
* <code>'''netbios aliases'''</code>: permette di identificare un server samba attraverso più nomi. Quest'opzione risulta particolarmente utile in congiunzione con il parametro <code>include</code>. | |||
* <code>'''include'''</code>: permette di includere nel file di configurazione <code>smb.conf</code> un altro file di configurazione (e quindi le relative impostazioni). Nell'esempio riportato viene importato il file /etc/samba.smb.conf.alias, dove ''alias'' è uno degli alias definiti attraverso il parametro <code>netbios aliases</code> (il carattere %L serve proprio a leggere l'imput dell'utente). Questo artificio è utile in quei casi dove può essere necessario caricare impostazioni parzialmente differenti a seconda del gruppo di utenti che accede al server, basta cioè che ciascuno di questi gruppi acceda al server sfruttando un diverso alias, ad esempio ''commerciale'', ''amministrazione'', ''tecnico'', ecc. | |||
===Parametri generici=== | |||
<pre> | |||
guest ok = no | |||
guest only = yes | |||
browseable = yes | |||
public = yes | |||
read only = yes | |||
create mask = 0750 | |||
directory mask = 0750 | |||
</pre> | |||
* <code>'''guest ok'''</code>: equivalente al parametro <code>public</code> definisce se una condivisione è accessibile o meno all'utenza guest, posto che questa sia abilitata (si veda la sezione dedicata alla creazione degli utenti). Attribuire ''no'' come valore a questo parametro nella sezione global è di norma inutile, visto che tale è proprio il suo valore predefinito, tuttavia ciò non è vero nel caso in cui il parametro <code>map to guest</code> sia impostato su un valore diverso da ''never'', come in questo esempio. Omettere di specificare ''no'' in questo caso comporterebbe l'impossibiiltà di accedere con utente diverso da guest a tutte quelle risorse per cui non è stato esplicitamente definito <code>guest ok = no</code>. | |||
* <code>'''guest only'''</code>: se impostato su ''yes'' restringe l'accesso alla risorsa alla sola utenza guest; | |||
* <code>'''browseable'''</code>, se impostato su ''yes'' rende visibile la condivisione nell'elenco delle risorse disponibili; dichiarare esplicitamente questo parametro con valore ''yes'' è utile solo qualora nella sezione global sia stato dichiatato esplicitamente <code>browseable = no </code>, essendo ''yes'' il valore predefinito; | |||
* <code>'''public'''</code>, se impostato su ''yes'' rende la directory di libero accesso; è del tutto equivalente all'opzione <code>'''guest ok'''</code>; | |||
* <code>'''read only'''</code>, setta i file della directory condivisa in sola lettura, è l'esatto opposto dell'opzione <code>'''writeable'''</code>, ovvero porre <code>read only = yes</code> equivale a <code>writeable = no</code> e viceversa; dichiarare esplicitamente questo parametro con valore ''yes'' è utile solo qualora nella sezione global sia stato dichiatato esplicitamente <code>read only = no </code>, essendo ''yes'' il valore predefinito. | |||
* <code>'''create mask'''</code>: definisce lo schema di permessi in stile UNIX che i file (e non delle cartelle) creati dai client windows avranno. Si noti che questo parametro non altera in alcun modo i permessi dei file eventualmente già presenti in una cartella condivisa oppure creati al di fuori di samba, per esempio da un utente che si è collegato tramite SSH; | * <code>'''create mask'''</code>: definisce lo schema di permessi in stile UNIX che i file (e non delle cartelle) creati dai client windows avranno. Si noti che questo parametro non altera in alcun modo i permessi dei file eventualmente già presenti in una cartella condivisa oppure creati al di fuori di samba, per esempio da un utente che si è collegato tramite SSH; | ||
* <code>'''directory mask'''</code>: parametro identico a <code>create mask</code>, ma riguarda le cartelle invece dei file | * <code>'''directory mask'''</code>: parametro identico a <code>create mask</code>, ma riguarda le cartelle invece dei file. | ||
==== Condivisione di una directory ==== | ==== Condivisione di una directory ==== | ||
Riga 176: | Riga 182: | ||
comment = Directory Shared | comment = Directory Shared | ||
path = /dir/da/condividere | path = /dir/da/condividere | ||
</pre> | </pre> | ||
Si noti la presenza di alcuni parametri già presentati nella sezione ''global''; in linea generale quando in una sezione specifica viene ridichiarato un certo parametro allora per la suddetta sezione verrà usato il valore del parametro lì dichiarato e non quello definito precedentemente in ''global'' (si ricordi che ''allow users'' costituisce un'eccezione). | Si noti la presenza di alcuni parametri già presentati nella sezione ''global''; in linea generale quando in una sezione specifica viene ridichiarato un certo parametro allora per la suddetta sezione verrà usato il valore del parametro lì dichiarato e non quello definito precedentemente in ''global'' (si ricordi che ''allow users'' costituisce un'eccezione). | ||
* <code>'''comment''' </code>= commento per la directory; | * <code>'''comment''' </code>= commento per la directory; | ||
* <code>'''path'''</code> = percorso della directory condivisa; | * <code>'''path'''</code> = percorso della directory condivisa; | ||
==== Condivisione di una stampante ==== | ==== Condivisione di una stampante ==== |
contributi