Dimensione: 11090
Commento:
|
Dimensione: 8168
Commento: Revisione completa
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 7: | Linea 7: |
[[Include(StrumentiWiki/Versioni)]] [[Include(StrumentiWiki/Hardy)]] [[Include(StrumentiWiki/Gutsy)]] [[Include(StrumentiWiki/Feisty)]] [[Include(StrumentiWiki/Edgy)]] [[Include(StrumentiWiki/Dapper)]] [[Include(StrumentiWiki/Versioni2)]] |
|
Linea 9: | Linea 17: |
'''Samba''' è un insieme di strumenti per file e stampanti con computer che montano sistemi operativi Windows. Samba implementa il protocollo di rete SMB, il quale è il cuore del networking Windows. | '''Samba''' è una suite di strumenti utilizzati per la condivisione tra reti miste windows linux, implementando il protocollo di rete SMB, il quale è il cuore del networking Windows. |
Linea 11: | Linea 19: |
Solitamente si avrà bisogno di Samba per: | Solitamente si avrà bisogno di '''samba''' per: |
Linea 18: | Linea 26: |
Il progetto Samba è partito nel 1992 con Andrew Tridgell. Oggi è un'importante struttura software nel mondo Linux quando si vuol fare interagire due o più macchine Windows e Linux. == Ho davvero bisogno di Samba? == * Se vuoi che il tuo computer Windows possa usare una stampante collegata a una macchina Linux non è necesario usare Samba. '''CUPS''' può essere configurato per rendere la stampante accessibile in rete (consultare il manuale di '''CUPS''' per maggiori informazioni). * Non hai bisogno di Samba per condividere cartelle tra due macchine Linux, è possibile usare '''NFS''' per questo. [[Anchor(installazione)]] |
|
Linea 28: | Linea 28: |
Per installare '''samba''' è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''samba''. Aprire una finestra DI terminale e digitare il seguente comando: {{{ sudo apt-get install samba |
Per installare '''samba''' è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] i pacchetti ''samba'', ''smbpasswd'' e ''smbfs'' presenti nei [:Repository: repository ufficiali]. = Configurazione = Tutti i parametri di configurazione di '''samba''' sono presenti nel file {{{/etc/samba/smb.conf}}}, modificabile con [:EditorDiTesto: editor di testo]. Maggiori informazioni a proposito della configurazione di samba si possono trovare attraverso il '''man''' di ''smb.conf''. Qualsiasi modifica apportata al file per essere applicati si deve riavviare il servizio di '''samba''' {{{sudo /etc/init.d/samba.conf |
Linea 33: | Linea 39: |
= Configurare il computer = | == Sezione global == |
Linea 35: | Linea 41: |
Avviare lo strumento '''Impostazioni di rete''' da '''''Sistema -> Amministrazione -> Rete''''' e selezionare la scheda '''Generale'''. | La sezione '''global''' si trova sempre all'inizio della configurazione e racchiude i principali parametri del server. |
Linea 37: | Linea 43: |
== Sistemare le configurazioni == ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">Il nome del computer e dell'utente è consigliato farlo identico sia per win che per linux nel caso in cui un client abbia entrambi installati, altrimenti si andrà in contro a grossi problemi di permessi! || * Setting dell'Host (client) {{{ Nome dell'Host: <tuo_computer> Nome Dominio: <tuo_dominio> |
{{{ [global] allow hosts = 192.168.1.0/24 # Range di IP che possono accedere al server workgroup = ubuntu-it # Nome del dominio server string = server@debianizzati.org # Identificativo del sercer create mask = 0755 # Permessi sulle cartelle |
Linea 46: | Linea 51: |
* Windows Networking: controllare che sia abilitato il windows networking {{{ Descizione: <quello_che_vuoi> |
= Montare condivisione = |
Linea 49: | Linea 53: |
Domain/Workgroup: <il_dominio_del_tuo_gruppo_di_lavoro> | Per montare una condivisone '''samba''' presente su un altro file server, si utilizza il '''smbmount''' presente nel pacchetto: {{{ smbmount //SERVER/condivisione /punto/di/mount |
Linea 52: | Linea 59: |
* Se preferisci, controlla il server WINS {{{ <tuo_indirizzo_ip_o_wins_server> |
= Condivisioni dei dispositivi = == Condividere cartella == Esistono sostanzialmente due metodi per condividere una cartella, il primo più rapido e veloce, mentre il secondo modificando il file di configurazione di samba 1. Quello più rapido è '''''tasto destro -> condividi cartella''''' ed in seguito impostare i [:AmministrazioneSistema/PermessiFile:permessi] su di essa. 2. Mentre il secondo metodo è quello di aggiungere la cartella nel file di configurazione di '''samba''' {{{ [shared] comment = Cartella condivisa # Commento sulla condivisione path = /cartella/da/condividere # Percorso della condivisione browsable = yes # Rende visibile la condivisione public = yes # Rende la cartella accessibile create mask = 0755 # Permessi dei file |
Linea 56: | Linea 77: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">Se non lo conosci, chiedilo al tuo amministratore di rete. Le tipiche configurazioni per il campo del gruppo di lavoro sono"mshome" o workgroup. || | == Condivisione Home == |
Linea 58: | Linea 79: |
Le configurazioni più importanti qui sono il tuo hostname (nome Host), il quale dovrebbe essere gia settato, e il dominio/gruppo di lavoro. Premi '''OK''' in entrambe le finestre and e la prima parte per reti con macchine Windows è fatta. | Anche se sconsigliato è possibile anche condividere per interno la home di un utente. |
Linea 60: | Linea 81: |
= Esplorare samba shares = Ubuntu e Gnome (come xfce4) rendono facili l'accesso a file in reti di condivisione windows. Apri il menù Risorse, poi clicca su "Server Rete". Vedrai una "rete windows",aprila. La prossima finestra mostra tutti i domini/gruppi di lavoro trovati nella tua rete. Dentro ogni domain/workgroup puoi vedere tutti i computer compresi in esso (cioè quelli che condividono qualcoasa!). Doppio click sull'icona di un computer e accedi ai suoi file condivisi. Può essere più facile ? Prima di mostrare ciò che un computer condivide, il tuo sistema potrebbe chiederti un nome ed una password. Controlla che sia valido l'user che stai immettendo per il computer al quale ti stai connettendo. Se vuoi puoi anche mettere la tua password nel tuo portachiavi! = Montare una condvisione samba = Montare una condivisione sul filesystem locale ti permette di lavorare intorno a programmi che non usano ancora GnomeVFS per esplorare i file condivisi remoti. Per montare una condivisione samba devi prima di tutto installare smbfs: {{{ sudo apt-get update sudo apt-get install smbfs |
{{{ [homes] comment = Home condivisa # Commento sulla condivisione browsable = no # Rende visibile la condivisione valid users = %S # Utente che ci possono accedere create mask = 0700 # Permessi dei file direcotory mask = 0700 # Permessi della home |
Linea 76: | Linea 90: |
Per permettere ad account non root di installare condivisioni, cambia i permessi nel programma smbmnt: | == Condivisione stampante tramite samba == Il sistema migliore per condividere una stampante è tramite '''IPP''' quello che è stato spiegato prima, però c'è anche la possibilità di condivisione tramite [:Server/Samba: samba], con un [:EditorDiTesto: editor di testo] modificare il file `/etc/samba/smb.conf` ed aggiungere i seguenti parametri nella sezione '''[Global]''' {{{ printing = cups # Server di sampa utilizzato load printers = yes # Caricare le stampanti }}} Inoltre bisogna creare la sezione '''[Printers]''' {{{ [printers] path = /var/spool/samba # Percorso dello spool di stampa printable = yes # Stampante disponibile }}} Poi creare la sezione per la specifica stampante |
Linea 79: | Linea 108: |
sudo chmod u+s /usr/bin/smbmnt | [HP] comment = HP Printer # Commento sulla condivisione path = /var/spool/samba # Percorso dello spool di stampa browsable = yes # Permette la visualizzazione della lista delle risorse condivise |
Linea 82: | Linea 114: |
Cio che segue monterà la cartella myshare nel myserver nella destinazione /home/yourusrname/mnt: {{{ smbmount //myserver/myshare /home/yourusrname/mnt |
Di default ubuntu non crea la cartella {{{/var/spool/samba}}} quindi la si deve creare a mano, ed impostando i [:AmministrazioneSistema/PermessiFile: permessi di accesso]. {{{ sudo mkdir /var/spool/samba sudo chmod -R 755 /var/spool/samba |
Linea 86: | Linea 121: |
Inoltre per avere una condivisione montata automaticamente ogni volta che riavvii, hai bisogno di compiere la seguente procedura: | == Condividere Dispositivi di lettura == |
Linea 88: | Linea 123: |
Apri la shell come root: {{{ sudo -s |
È anche possibile condividere un supporto di lettura come il dvd oppure il cd: {{{ [dvd] comment = Lettore DVD+R # Commento sulla condivisione preexec = mount /media/cdrom # Azione compiuta dopo la connessione alla condivisione postexec = umount /media/cdrom # Azione compiuta dopo la disconnessione alla condivisione path = /media/cdrom # Percorso della condivisione writable = no # Se la condivisione è modificabile |
Linea 92: | Linea 134: |
Crea un file che contenga i dettagli del tuo Windows/Samba user: {{{ vi /etc/samba/user |
= Autenticazione = Esistono due possibilità per accedere ad una condivisione '''samba''', la prima è quella di creare un utente '''samba virtuale''' tramite il comando: {{{ sudo smbpasswd -a utente |
Linea 96: | Linea 141: |
...dovrebbe contenere due linee come queste: {{{ username = george |
mentre il secondo è quello di accedere alle condivisioni tramite utente '''guest''', aggiungendo alla sezione nel file `smb.conf` il parametro '''guest ok = yes''' |
Linea 99: | Linea 143: |
password = secret | == Gestione utenti samba == Tutta la gestione degli utenti '''samba''' viene fatta tramite il comando '''smbpasswd''', da dove è possibile creare oppure eliminare utenti, per maggiori informazioni riguardo al comando {{{man smbpasswd |
Linea 102: | Linea 150: |
Cambia i permessi nel file per sicurezza: {{{ chmod 0600 /etc/samba/user |
= Gestione client = '''smbclient''' è un programma molto simile a client ftp da terminale, serve per visualizzare o connettersi a condivisioni '''samba''' presenti su server. uno dei comandi più utilizzati è: {{{sudo smbclient -L IPServer |
Linea 106: | Linea 158: |
Ora crea una directory dove puoi montare la tua condivisione (per esempio /mnt/data): {{{ mkdir /mnt/data |
che permette di vedere tutte le cartelle condivise su un dato server. == Connessione al server == per connettersi ad un server samba si usa: {{{smbclient //SERVER/condivisione |
Linea 109: | Linea 166: |
Come detto prima i comandi del prompt sono uguali a quelli utilizzatati dal ftp in più mette a disposizione utilissimi tool per la gestione dei file, tramite il comando '''help''' è possibile avere maggiori informazioni riguardo hai comandi. | |
Linea 110: | Linea 168: |
Ora scrivi la tabella del filesystem (/etc/fstab) ed aggiungi una linea come quella che segue: | = Log di samba = |
Linea 112: | Linea 170: |
{{{ //server/share /mnt/data smbfs credentials=/etc/samba/user,rw,uid=bob 0 0 }}} |
Tutti i log di samba sono presenti nella cartella `/var/log/samba`, suddivisi in tre categorie, la prima è `log.nmbd` dove vengono annotate tutte le operazioni '''NETBIOS''', il secondo è `log.smbd` dove vengono registrate tutte le operazioni sui protocolli '''SMB/CIFS''' e per finire per ogni connessione instaurata con client o server '''samba''' crea un file di log chiamati `log.[IP_ADDRESS]` |
Linea 116: | Linea 172: |
...dove 'bob' è un non-root user con il quale ti sei loggato in ubuntu, 'server' è il nome o l'indirizzo della macchina windows and 'share' è il nome della condivisione. Ora per montare share esegui il comando seguente, sempre da root. Verrà montata automaticamente al riavvio successivo. {{{ mount /mnt/data }}} to be continued... = Configurazione del server Samba = La prossima parte non ha un'applicazione grafica ottimale, purtroppo, Dovremo quindi utilizzare la riga di comando. Non è difficile, ma sarà necessario essere molto accorti agli errori di battitura. Prima di tutto apri un terminale: '''Applicazioni''' > '''Strumenti di sistema''' > '''Terminale''' e poi apri con l'editor "Nano" il file smb.conf digitando: {{{ sudo nano -w /etc/samba/smb.conf }}} '''Come salvare:''' Per savare in nano premete "ctrl/o" quindi "ctrl/x". '''Note''' Qui trovi una Guida all'uso dell'editor Nano => NanoGuida '''Tip:''' Potete tranquillamente usare gedit al posto di nano se preferite. Il file *smb.conf* è suddiviso in sezioni come segue: {{{ Global Settings Debugging/Accounting Authentication Printing File sharing Misc Share Definitions }}} Inizialmente abbiamo i '''Global Settings'''. qui potete osservare alcune righe, visibili anche tramite l'interfaccia grafica networktool come workgroup e il wins server. Se siete già in grado di cambiare qualsiasi cosa a vostro piacimento, potete saltare questa sezione, in altro modo cambiamo cosa vi serve. Se non sapete il significato delle singole parti, potete consultare e verificare le parti principali nell'how-to ufficiale http://www.samba.org/samba/docs/using_samba/ch06.html instead of randomly changing them. It will save you trouble-shooting later. Una sezione molto importante per noi è '''File sharing'''. Dobbiamo quindi cambiare: {{{ ![homes] comment = Home Directories browseable = no # By default, the home directories are exported read-only. Change next # parameter to 'yes' if you want to be able to write to them. writable = no # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. create mask = 0700 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0700 }}} Questa descrive la vostra cartella /home. Abitualmente questa viene condivisa in rete, in quanto conterrà i file condivisi. Per fare questo, fate i seguenti cambiamenti: {{{ ![homes] comment = Home Directories browseable = yes # By default, the home directories are exported read-only. Change next # parameter to 'yes' if you want to be able to write to them. writable = yes # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. create mask = 0775 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0775 }}} Questo completa la condivisione della vostra /home. L'ultima cosa che dobbiamo fare è creare gli utenti con relativi permessi. Aggiungeremo gli utenti abilitati ai file condivisi con il comando 'smbpasswd'. {{{ sudo smbpasswd -a username New SMB password: Retype new SMB password: Added user username. }}} Riavviate Samba per ogni cambiamento ad utenti/password o 'smb.conf' {{{ sudo /etc/init.d/samba restart }}} Questa era la base delle condivisioni Samba. Ogni commento è ben accetto. = Complichiamo appena le cose = Siamo partiti dalle basi delle condivisioni samba. Tutto ciò che abbiamo detto è abbastanza per partire con una condivisione. Ora aggiungeremo ulteriori dettagli che potrebbero, come non potrebbero servire. == Se possedete più di una scheda di rete == Se possedete più di una scheda di rete (o interfaccia) allora dovete definire dove volete che giri samba. In smb.conf dentro la sezione [global], aggiungete: {{{ "interfaces = 127.0.0.1, 192.168.0.31/24" "bind interfaces only = yes" }}} Il primo indirizzo (127.0.0.1), è il loopback network connection (la macchina stessa o localhost che dir si voglia). Il secondo indirizzo (192.168.0.31), è l'indirizzo della scheda di rete ove samba girerà, il secondo numero (24) è la sottorete di default per reti di CLASSE-C . Potrebbe variare dipende dalla tipologia della vostra rete. Con "bind interfaces only" limiterete le richieste SMB ad una singola scheda. Potete limitare gli indirizzi IP che si potranno connettere al vostro server Samba aggiungendo queste righe: {{{ "hosts allow = 127.0.0.1, 192.168.0.31, 192.168.0.32" "hosts deny = 0.0.0.0/0" }}} L'indirizzo di loopback deve essere presente nella prima linea. La seconda linea nega l'accesso a tutti gli indirizzi IP non presenti nella prima. |
= Interfaccia web = '''Samaba''' dispone di anche un interfaccia web chiamata '''swat''' ''('''S'''amba '''W'''eb '''A'''dministation '''T'''ool)'', il pacchetto è [:AmministrazioneSistema/InstallareProgrammi:installabile] dai [:Repository: repository ufficiali]. Per accedere all'interfaccia web di '''samba''' inserire nella barra di navigazione di un [:InternetRete/Navigazione: Browser Web] l'indirizzo: {{{localhost:901 }}} |
Linea 272: | Linea 181: |
* [http://us4.samba.org/samba/docs/using_samba/toc.html "Using Samba", di Ts Eckstein, e Collier-Brown (O'Reilly)] * [http://www.cups.org/ Sito web di CUPS] |
* [http://openskills.info/topic.php?ID=62 Samba su Openskills] * [http://guide.debianizzati.org/index.php/Condivisione_risorse_con_Samba Samba su Debianizzati] |
Linea 277: | Linea 184: |
CategoryServer CategoryDaRevisionare | CategoryServer |
IndiceBRTableOfContents |
Include(StrumentiWiki/Versioni) Include(StrumentiWiki/Hardy) Include(StrumentiWiki/Gutsy) Include(StrumentiWiki/Feisty) Include(StrumentiWiki/Edgy) Include(StrumentiWiki/Dapper) Include(StrumentiWiki/Versioni2)
Introduzione
Samba è una suite di strumenti utilizzati per la condivisione tra reti miste windows linux, implementando il protocollo di rete SMB, il quale è il cuore del networking Windows.
Solitamente si avrà bisogno di samba per:
- agire come un client con server Windows: accesso a file e stampanti remote condivisi,
- agire da server per client Windows: condividere cartelle e stampanti, incluse pseudo-stampanti PDF,
- agire da controllore di domini in una rete Windows (autenticazione degli utenti, etc.),
- fare qualcosa di più complesso, come per esempio usare un controller Windows di domini per autenticare gli utenti di una macchina Linux.
Installazione
Per installare samba è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] i pacchetti samba, smbpasswd e smbfs presenti nei [:Repository: repository ufficiali].
Configurazione
Tutti i parametri di configurazione di samba sono presenti nel file /etc/samba/smb.conf, modificabile con [:EditorDiTesto: editor di testo]. Maggiori informazioni a proposito della configurazione di samba si possono trovare attraverso il man di smb.conf. Qualsiasi modifica apportata al file per essere applicati si deve riavviare il servizio di samba
{{{sudo /etc/init.d/samba.conf }}}
Sezione global
La sezione global si trova sempre all'inizio della configurazione e racchiude i principali parametri del server.
[global] allow hosts = 192.168.1.0/24 # Range di IP che possono accedere al server workgroup = ubuntu-it # Nome del dominio server string = server@debianizzati.org # Identificativo del sercer create mask = 0755 # Permessi sulle cartelle
Montare condivisione
Per montare una condivisone samba presente su un altro file server, si utilizza il smbmount presente nel pacchetto:
smbmount //SERVER/condivisione /punto/di/mount
Condivisioni dei dispositivi
Condividere cartella
Esistono sostanzialmente due metodi per condividere una cartella, il primo più rapido e veloce, mentre il secondo modificando il file di configurazione di samba
Quello più rapido è tasto destro -> condividi cartella ed in seguito impostare i [:AmministrazioneSistema/PermessiFile:permessi] su di essa.
Mentre il secondo metodo è quello di aggiungere la cartella nel file di configurazione di samba
[shared] comment = Cartella condivisa # Commento sulla condivisione path = /cartella/da/condividere # Percorso della condivisione browsable = yes # Rende visibile la condivisione public = yes # Rende la cartella accessibile create mask = 0755 # Permessi dei file
Condivisione Home
Anche se sconsigliato è possibile anche condividere per interno la home di un utente.
[homes] comment = Home condivisa # Commento sulla condivisione browsable = no # Rende visibile la condivisione valid users = %S # Utente che ci possono accedere create mask = 0700 # Permessi dei file direcotory mask = 0700 # Permessi della home
Condivisione stampante tramite samba
Il sistema migliore per condividere una stampante è tramite IPP quello che è stato spiegato prima, però c'è anche la possibilità di condivisione tramite [:Server/Samba: samba], con un [:EditorDiTesto: editor di testo] modificare il file /etc/samba/smb.conf ed aggiungere i seguenti parametri nella sezione [Global]
printing = cups # Server di sampa utilizzato load printers = yes # Caricare le stampanti
Inoltre bisogna creare la sezione [Printers]
[printers] path = /var/spool/samba # Percorso dello spool di stampa printable = yes # Stampante disponibile
Poi creare la sezione per la specifica stampante
[HP] comment = HP Printer # Commento sulla condivisione path = /var/spool/samba # Percorso dello spool di stampa browsable = yes # Permette la visualizzazione della lista delle risorse condivise
Di default ubuntu non crea la cartella /var/spool/samba quindi la si deve creare a mano, ed impostando i [:AmministrazioneSistema/PermessiFile: permessi di accesso].
sudo mkdir /var/spool/samba sudo chmod -R 755 /var/spool/samba
Condividere Dispositivi di lettura
È anche possibile condividere un supporto di lettura come il dvd oppure il cd:
[dvd] comment = Lettore DVD+R # Commento sulla condivisione preexec = mount /media/cdrom # Azione compiuta dopo la connessione alla condivisione postexec = umount /media/cdrom # Azione compiuta dopo la disconnessione alla condivisione path = /media/cdrom # Percorso della condivisione writable = no # Se la condivisione è modificabile
Autenticazione
Esistono due possibilità per accedere ad una condivisione samba, la prima è quella di creare un utente samba virtuale tramite il comando:
sudo smbpasswd -a utente
mentre il secondo è quello di accedere alle condivisioni tramite utente guest, aggiungendo alla sezione nel file smb.conf il parametro guest ok = yes
Gestione utenti samba
Tutta la gestione degli utenti samba viene fatta tramite il comando smbpasswd, da dove è possibile creare oppure eliminare utenti, per maggiori informazioni riguardo al comando
{{{man smbpasswd }}}
Gestione client
smbclient è un programma molto simile a client ftp da terminale, serve per visualizzare o connettersi a condivisioni samba presenti su server.
uno dei comandi più utilizzati è: {{{sudo smbclient -L IPServer }}}
che permette di vedere tutte le cartelle condivise su un dato server.
Connessione al server
per connettersi ad un server samba si usa:
{{{smbclient //SERVER/condivisione }}} Come detto prima i comandi del prompt sono uguali a quelli utilizzatati dal ftp in più mette a disposizione utilissimi tool per la gestione dei file, tramite il comando help è possibile avere maggiori informazioni riguardo hai comandi.
Log di samba
Tutti i log di samba sono presenti nella cartella /var/log/samba, suddivisi in tre categorie, la prima è log.nmbd dove vengono annotate tutte le operazioni NETBIOS, il secondo è log.smbd dove vengono registrate tutte le operazioni sui protocolli SMB/CIFS e per finire per ogni connessione instaurata con client o server samba crea un file di log chiamati log.[IP_ADDRESS]
Interfaccia web
Samaba dispone di anche un interfaccia web chiamata swat (Samba Web Administation Tool), il pacchetto è [:AmministrazioneSistema/InstallareProgrammi:installabile] dai [:Repository: repository ufficiali]. Per accedere all'interfaccia web di samba inserire nella barra di navigazione di un [:InternetRete/Navigazione: Browser Web] l'indirizzo: {{{localhost:901 }}}
Ulteriori risorse
[http://www.samba.org/ Sito web di Samba]
[http://openskills.info/topic.php?ID=62 Samba su Openskills]
[http://guide.debianizzati.org/index.php/Condivisione_risorse_con_Samba Samba su Debianizzati]