17.2. Configurazione di un server di Samba

Il file di configurazione di default (/etc/samba/smb.conf) consente agli utenti di visualizzare le proprie home directory di Red Hat Linux come una condivisione di Samba. Inoltre, condivide tutte le stampanti configurate per il sistema Red Hat Linux come stampanti condivise di Samba. In altre parole, potete collegare una stampante al vostro sistema e usarla per stampare da altre macchine Windows sulla vostra rete.

17.2.1. Configurazione grafica

Per configurare Samba usando una interfaccia grafica, usare il Strumento di configurazione del server Samba. Per la configurazione della linea di comando andare su la Sezione 17.2.2.

Il Strumento di configurazione del server Samba é una interfaccia grafica per la gestione delle condivisioni di Samba, utenti, ed impostazioni basiche del server. Esso modifica i file di configurazione nella directory /etc/samba/. Qualsiasi cambiamento apportato ai suddetti file non effettuato usando la suddetta applicazione, non sará confermato.

Per poter usare questa applicazione, dovete eseguire il Sistema X di Window, avere i privilegi di un utente root, e avere il pacchetto RPM redhat-config-samba, installato. Per avviare il Strumento di configurazione del server Samba dal desktop, andate su Pulsante menu principale (sul pannello) => Impostazioni del sistema => Impostazioni del Server => Server di Samba o inserite il comando redhat-config-samba ad un prompt della shell (per esempio, in un terminale XTerm o GNOME).

Figura 17-1. Strumento di configurazione del server Samba

NotaNota Bene
 

Il Strumento di configurazione del server Samba non mostra le stampanti condivise o la stanza di default che permette agli utenti di visualizzare le proprie home directory sul server di Samba.

17.2.1.1. Configurazione delle impostazioni del server

Il primo passo nella configurazione di un server di Samba, é quello di configurare le impostazioni di base per il server e qualche opzione di sicurezza. Dopo aver iniziato l'applicazione, selezionare, Preferenze => Impostazioni del server dal menu a tendina. Il tab Basico viene visualizzato come mostrato su Figura 17-2.

Figura 17-2. Configurazione delle impostazioni di base del server

Sulla scheda Basica, specificare in quale gruppo di lavoro il computer si dovrebbe trovare fornendo anche una breve descrizione del computer stesso. Essi corrispondono alle opzioni workgroup e server string in smb.conf.

Figura 17-3. Configurazione impostazioni del server di sicurezza

La tabella Securezza contiene le opzioni seguenti:

  • Modalità di autenticazione — Ció corrisponde alla opzione security. Selezionare uno dei seguenti tipi di autenticazione.

    • Dominio — Il server di Samba, si affida ad un Controllore del dominio NT primario o di backup per verificare l'utente. L'utente invia il nome utente e la password al Controllore, aspettando la risposta. Specificare il nome del NetBIOS del Controllore del dominio primario o di backup nel campo Server di autenticazione.

      L'opzione Password cifrate deve essere impostato su Si se selezionata.

    • Server — Il server di Samba cerca di verificare la combinazione tra il nome dell'utente e la password, inviandoli ad un altro server. Altrimenti, il server cerca di effettuare la verifica, usando il modo di autenticazione dell'utente. Specificare il nome del NetBIOS dell'altro server del Samba, nel campo Server di autenticazione

    • Condivisione — Gli utenti di Samba, non devono inserire alcun nome utente e password ad ogni singolo server. Essi non sono richiesti a specificare un nome utente e password, fino a quando non provano a connettersi ad una directory di condivisione specifica da un server di Samba.

    • Utente — gli utenti (Default) di Samba, devono fornire un valido nome utente e password ad ogni server di Samba. Selezionare questa opzione se desiderate che l'opzione Utente Windows funzioni. Consultate la Sezione 17.2.1.2 per maggiori dettagli.

  • Cifrare le password — (il valore di default é Si). Questa opzione deve essere abilitata se i clienti sono collegati da Windows 98, Windows NT 4.0 con Service Pack 3, o versioni piú recenti di Microsoft Windows. Le password vengono trasferite tra il server e il client in un formato cifrato invece di un testo in chiaro che puó essere intercettato. Ció corrisponde in una opzione password cifrate. Consultare la Sezione 17.2.3 per maggiori informazioni.

  • Account guest — Quando gli utenti o utenti ospiti effettuano una registrazione ad un server Samba, essi devono essere collocati su di un utente valido nel server. Selezionare uno dei nomi utenti esistenti sul sistema, per ottenere un account Samba guest. Quando gli utenti ospiti effettuano una registrazione nel server di Samba, essi hanno gli stessi privilegi degli utenti Samba. Ció corrisponde all'opzione guest account.

Dopo aver fatto clic su OK, i cambiamenti vengono scritti sul file di configurazione ed il demone viene riavviato; in modo tale da confermare immediatamente i cambiamenti.

17.2.1.2. Gestione utenti Samba

Il Strumento di configurazione del server Samba richiede che un account di un utente giá esistente sia attivo sul sistema Red Hat Linux funzionando come un server di Samba prima che l'utente venga aggiunto. L'utente di Samba é associato con un account di un utente Red Hat Linux esistente.

Figura 17-4. Gestione utenti Samba

Per aggiungere un utente Samba, selezionate Preferenze => Utenti Samba dal menu a tendina, e fate clic sul pulsante Aggiungi utente. Sulla finestra Creare un nuovo utente Samba selezionare un Nome utente Unix dalla lista di utenti esistenti sul sistema locale.

Se l'utente ha un nome utente diverso su di una macchina Windows e sará registrato in un server Samba da una macchina Windows, specificare il nome utente di Windows nel campo Nome utente di Windows. Il Modo di autenticazione sulla tabella Sicurezza delle preferenze Impostazioni del Server deve essere impostato su Utente per poter funzionare.

Configurare una Password di Samba per l'utente Samba e confermarla digitandola ancora. Anche se decidete di usare password cifrate per Samba, é consigliato che la stessa password sia diversa per ogni utente dalle password del loro sistema Red Hat Linux

Per modificare un utente giá esistente, selezionare l'utente stesso dalla lista e fare clic su Modifica utente. Per cancellare un utente Samba esistente, selezionarlo e fare clic sul pulsante Cancella utente. Cancellando l'utente di Samba, non si cancella l'associato account utente di Red Hat Linux.

Gli utenti vengono modificati immediatamente dopo aver fatto clic sul pulsante OK.

17.2.1.3. Aggiungere una condivisione

Figura 17-5. Aggiungere una condivisione

Per aggiungere una condivisione, fare clicc sul pulsante Aggiungi. La scheda Basica configura le seguenti opzioni:

  • Directory — La directory per la condivisione tramite Samba. La directory deve esistere.

  • Descrizioni — Una breve descrizione della condivisione.

  • Permessi di base — Se gli utenti devono solo essere in grado leggere i file nelle directory condivise o se essi devono essere in grado di leggere e scrivere sulla directory condivisa.

Sulla tabella Accesso, selezionare se permettere solo utenti specifici all'accesso della condivisione oppure se permettere a tutti gli utenti Samba di accedere alla stessa. Se si seleziona la prima opzione, selezionare gli utenti dalla lista di utenti Samba disponibili.

La condivisione viene aggiunta immediatamente dopo aver fatto clic su OK.

17.2.2. Configurazione della linea di comando

Samba usa /etc/samba/smb.conf come proprio file di configurazione. Se cambiate questo file, i cambiamenti non saranno confermati fino a quando non riavviate il demone Samba con il comando service smb restart.

Per specificare il gruppo di lavoro di Windows con una breve descrizione del server di Samba, modificate le seguenti linee nel vostro file smb.conf:

workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER

Sostituite il NOMEGRUPPODILAVORO con il nome del gruppo di lavoro di Windows a cui questa macchina appartiene. Il BREVE COMMENTO SUL SERVER è opzionale e contiene un commento Windows sul sistema Samba.

Per creare una directory di condivisione Samba sul sistema Linux, aggiungete la seguente sezione al vostro file smb.conf (dopo averlo modificato in base alle vostre esigenze e a quelle del sistema):

[sharename]
comment = Insert a comment here
path = /home/share/
valid users = tfox carole
public = no
writable = yes
printable = no
create mask = 0765

L'esempio illustrato sopra consente agli utenti tfox e carole di leggere e scrivere nella directory /home/share, sul server Samba da un client Samba.

17.2.3. Password cifrate

In Red Hat Linux 9 le password cifrate sono abilitate di default per una maggiore sicurezza. Se queste non vengono utilizzate, si usano le password in chiaro, che possono essere intercettate da chiunque usi un packet sniffer. È caldamente consigliato preferire le password cifrate.

Il protocollo SMB di Microsoft era usato in origine con le password in "chiaro". Tuttavia, Windows 2000 e Windows NT 4.0 con Service Pack 3 o versioni superiori richiedono password cifrate. Per utilizzare Samba tra un sistema Red Hat Linux e un sistema Windows 2000 o Windows NT 4.0 con Service Pack 3 o superiore, potete modificare il registro di Windows per usare password in chiaro oppure potete configurare Samba sul sistema Linux per usare le password cifrate. Se decidete di modificare la vostra registrazione, dovete farlo per tutte le macchine con Windows NT o 2000: questa operazione è piuttosto rischiosa e può causare ulteriori conflitti.

Per configurare Samba sul sistema Red Hat Linux per utilizzare password cifrate, seguite le istruzioni illustrate qui di seguito:

  1. Create un file di password diverso per Samba. Per crearne uno basato sul vostro file esistente /etc/passwd, digitate al prompt il comando seguente:

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Se il sistema utilizza NIS, digitate il seguente comando:

    ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Lo script mksmbpasswd.sh è installato nella directory /usr/bin con il pacchetto samba.

  2. Cambiate i permessi del file delle password di Samba, in modo che solo root abbia i permessi di lettura e scrittura:

    chmod 600 /etc/samba/smbpasswd
  3. Lo script non copia le password utente nel nuovo file, e un account utente Samba non é attivo fino a quando una password é impostata. Per maggiore sicurezza, é consigliato che la password di Samba dell'utente sia diversa dalla password di Red Hat Linux. Per impostare ogni password dell'utente di Samba, usare il seguente comando (sostituire nome utente con ogni nome utente dell'utente):

    smbpasswd username 
  4. È ora necessario abilitare le password cifrate nel file di configurazione di Samba. Per farlo, eliminate il commento dalle righe seguenti nel file smb.conf:

    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
  5. Assicuratevi che il servizio smb venga lanciato digitando il comando service smb restart al prompt della shell.

  6. Se desiderate che il servizio smb si avvii automaticamente, utilizzate ntsysv, chkconfig, o Strumento di configurazione dei servizi per attivarlo al runtime. Per informazioni dettagliate consultate il Capitolo 14.

SuggerimentoSuggerimento
 

Per saperne di più sulle password cifrate, leggete /usr/share/doc/samba-<versione>/docs/htmldocs/ENCRYPTION.html (sostituite <versione> con il numero della versione di Samba che avete installato).

Il modulo PAM pam_smbpass consente di sincronizzare le password Samba degli utenti con le loro password di sistema quando usano il comando passwd. Se un utente richiama il comando passwd, la password per la connessione al sistema Red Hat Linux e quella per la partizione Samba vengono entrambe modificate.

Per attivare questa caratteristica, aggiungete la seguente riga a /etc/pam.d/system-auth sotto pam_cracklib.so:

password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass

17.2.4. Come avviare e fermare il server

Sul server che stá condividendo le directory tramite Samba, deve essere eseguito il servizio smb.

Visualizzate la condizione del demone di Samba con il seguente comando:

/sbin/service smb status

Avviare il server con il seguente comando:

/sbin/service smb start

Fermare il demone con il seguente comando:

/sbin/service smb stop

Per avviare il servizio smb al momento dell'avvio, usare il comando:

/sbin/chkconfig --level 345 smb on

Potete usare anche chkconfig, ntsysv o Strumento di configurazione dei servizi per configurare quale servizio deve essere avviato al momento della partenza. Consultare Capitolo 14 per maggiori informazioni.