×

Errore

JHtmlBehavior::mootools not found.

×

Messaggio

Informativa breve sull'uso dei cookie

Questo sito usa cookie di sessione tecnici, funzionali alle attività del sito; questi cookie vengono cancellati al termine della sessione di lavoro. I cookie possono essere sia propri sia di terze parti.
Questo sito usa anche cookie persistenti per monitorare l'attività del sito e dell'utente all'interno del sito stesso, ma sempre in forma anonima. I cookie possono essere sia propri sia di terze parti.
Questo sito NON usa cookies di profilazione (propri o di terzi fornitori) per inviare pubblicità in linea con le preferenze dell'utente o attivare altre attività di direct marketing.
Ti consgliamo di accettare l'uso dei cookie cliccando su Acconsento: così facendo, permetti la registrazione dei cookie sul tuo computer.
Puoi impedire la registrazione dei cookie sul tuo computer, cliccando su Nego. In questo caso, è possibile che si ferifichino malfunzionamenti del sito.

Cliccando sul link della policy sui cookie potrai accedere all'informativa estesa, che riporta:

  • la spiegazione di che cosa sono i cookie
  • il dettaglio sui cookie usati da questo sito
  • le istruzioni eliminare selettivamente ogni cookie

Se prosegui la navigazione senza esprimere il consenso, nessun cookie sarà registrato, ma saranno possibili malfunzionamenti.


L'amministratore del sito

Leggi il regolamento sulla riservatezza

Leggi i documenti sulla direttiva e-Privacy dell'UE

Hai rifiutato i cookie. Puoi sempre cambiare idea.

Tutte le maggiori distribuzioni Linux mettono a disposizione strumenti semplici per accedere alle unità di rete, anche quelle che sono raggiungibili mediante il protocollo SMB, cioè quello usato da Windows. Il protocollo SMB e il suo successore CIFS sono diventati gli standard di fatto per gli ambienti misti, in cui cioè convivono computer che usano sistemi operativi diversi.

È normale che le unità di rete condivise siano raggiungibili mediante i protocolli SMB (per maggiori informazioni su SMB e CIFS, consulta la pagina relativa di Wikipedia), poiché questi protocolli sono disponibili per tutte le piattaforme grazie soprattutto a Samba, un progetto aperto solido e diffusissimo.

Perciò, in ambienti misti è d’uso condividere le risorse (di solito su un server o su un NAS) mediante SMB e accedere ad esse dai client di qualunque tipo: se si tratta di computer Windows, l’accesso “rimane in famiglia” poiché il protocollo è nativo, mentre con Linux o OS X si usa Samba.

Questa guida ti aiuterà a

Questa guida non ti aiuterà invece nel documentarti su Samba, su SMB o su CIFS. Se sei digiuno di questi argomenti, torno a consigliarti Wikipedia per avere le informazioni essenziali, sia su Samba sia su SMB o sul suo successore CIFS.

Perché mappare le unità di rete?

Per renderti conto immediatamente di quale sia il grande vantaggio del mappare le unità di rete, fai una piccola prova: apri Writer, crea un nuovo documento e cerca di salvarlo su un’unità di rete.

Non ci riesci: nella finestra di file di LibreOffice non viene data la possibilità di esplorare la rete per salvare il documento direttamente in una cartella remota (Figura 1).

{boxplus href=|images/Articoli/Art_0160_01.png| title=|Figura 1. La finestra di file di LibreOffice non permette di esplorare la rete per salvare il documento in una cartella remota.|}Mappatura unità di rete in Ubuntu{/boxplus}

A prima vista, la soluzione potrebbe sembrare semplice: prima monti l’unità di rete e poi salvi in essa il documento. In effetti, un’unità di rete montata mediante la procedura normale di Ubuntu (facendo cioè clic su Esplora rete e individuando la risorsa da montare) appare nell’elenco delle risorse della finestra di file di LibreOffice (Figura 2).

{boxplus href=|images/Articoli/Art_0160_02.png| title=|Figura 2. Se si monta un’unità di rete mediante la funzione Esplora rete, la cartella remota appare nell’elenco delle risorse: nel caso della figura, è la cartella lavori sul server prezzemolo.|}Mappatura unità di rete in Ubuntu{/boxplus}

Tuttavia, il tentativo di memorizzazione non va a buon fine e Ubuntu visualizza il messaggio d’errore riportato nella Figura 3.

Mappatura unità di rete in Ubuntu

Ubuntu non è infatti in grado di memorizzare un documento su un’unità remota dall’interno di una finestra di file di un’applicazione, neppure se l’unità remota è già montata.

Questo è un limite che può diventare irritante, soprattutto se le unità di rete sono molte e c’è la necessità di accedere spesso ad esse dalle finestre di file delle applicazioni. Non va infatti dimenticato che l’impossibilità dell’accesso esiste non solo in scrittura ma anche in lettura.

Un altro motivo per cui ritengo che sia conveniente mappare le unità di rete è che il percorso viene visto come se le cartelle remote facessero parte del file system locale e che perciò è facile usare tale percorso in tutte le situazioni, senza dover trafficare con server e protocolli. La Figura 4 mostra proprio il contenuto di un’unità di rete mappata: nota che nella casella Posizione il percorso è espresso nella consueta forma di un percorso locale. A proposito: il fatto che il percorso sia espresso mediante il semplice testo anziché mediante i consueti pulsanti dipende dall’impostazione di Ubuntu Tweak.

{boxplus href=|images/Articoli/Art_0160_04.png| title=|Figura 4. Una cartella remota, se mappata, appare come appartenente al file system locale.|}Mappatura unità di rete in Ubuntu{/boxplus}

Infine, la mappatura delle unità di rete permette di montare automaticamente le cartelle remote non all’avvio del computer ma al login dell’utente, facendo così in modo che per ogni utente possano essere configurate risorse specifiche che appaiono locali pur essendo remote.

Ogni utente, quando monta tali risorse ne risulta il proprietario ed ha perciò diritto di vita e di morte sui file in esse contenuti: esattamente come se operasse in locale, con l’unica differenza che non ha potere sui permessi perché questi sono stati impostati nello script per il montaggio delle unità.

Pacchetti necessari per montare condivisioni Windows

Per montare le condivisioni Windows come unità di rete hai in particolare bisogno di due pacchetti:

  • smbclient
  • cifs-utils.

Il primo dovrebbe essere già installato, il secondo di solito non lo è.

In ogni caso, sia per verificare se sono installati sia per installarli se non lo sono puoi usare Ubuntu Software Center. Se preferisci il Terminale, puoi usare la comune sintassi

sudo apt-get install cifs-utils

per installare cifs-utils.

Modifica del sudoers

Come vedrai più avanti, per mappare le unità di rete Windows si farà uso del comando mount. Questo comando è riservato al superutente.

Per far sì che lo possa usare anche un utente normale bisogna dichiararlo esplicitamente nel file /etc/sudoers.

Tecnicamente, i sudoers sono gli utenti che sono abilitati a usare il comando sudo ed agire così come superutente (o root). Di norma, solo gli amministratori possono usare il comando sudo, perciò è necessario specificare nel file sudoers gli utenti normali che possono agire come superutenti su determinati comandi e, ovviamente, indicare questi comandi.

In aggiunta, nel file sudoers si può specificare che quando un determinato utente impartisce un determinato comando, non debba essere richiesta la password. Ciò è importante se il comando viene impartito mediante uno script e non in modalità interattiva. Il parametro NOPASSWD viene indicato proprio per evitare la richiesta della password.

In questo esempio, gli utenti sono tre:

  • claudio, utente normale
  • luisa, utente normale
  • amministatore, che ha i privilegi di amministratore.

Per la gestione delle condivisioni vengono specificati due file:

  • /bin/mount, che permette di montare le condivisioni
  • /bin/umount, che permette di smontare le condivisioni.

Il file /etc/sudoers può essere modificato solo come superutente ed è conveniente agire da Terminale. Impartisci perciò il comando

sudo nano /etc/sudoers 

e modifica il file secondo le tue esigenze. Per salvarlo usa la combinazione Ctrl+O e per uscire Ctrl+X.

Le sezioni del file sudoers che devono essere modificate per ottenere il risultato desiderato sono User privilege specification e Members of the admin group may gain root privileges , come negli esempi seguenti.

# User privilege specification
root ALL=(ALL:ALL) ALL
claudio ALL=(ALL) NOPASSWD: /bin/mount
claudio ALL=(ALL) NOPASSWD: /bin/umount
luisa ALL=(ALL) NOPASSWD: /bin/mount
luisa ALL=(ALL) NOPASSWD: /bin/umount
 
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
amministratore ALL = NOPASSWD: /bin/mount
amministratore ALL = NOPASSWD: /bin/umount

Ovviamente devi sostituire i nomi degli utenti con quelli adatti al tuo caso.

Script per montare e smontare le cartelle remote

Per montare le cartelle remote è conveniente costruire uno script, in modo da non dover digitare tutto il comando ogni volta.

Il comando generico è

sudo mount -t cifs //Server/Condivisione PuntoDiMount -o user=NomeUtente,pass=PasswordUtente,rw,uid=NomeUtente

Di seguito riporto la spiegazione dei parametri in corsivo.

  • Server/Condivisione: il nome o l’indirizzo IP del server e il nome della condivisione (così come è stata impostata in Samba o in Windows). Per esempio, per montare la condivisione Archivio sul server con IP 192.168.3.86 il parametro è 192.168.3.86/Archivio.
  • PuntoDiMount: il punto del file system locale in cui montare la condivisione. Per esempio, per montare la condivisione nella cartella Documenti della home dell’utente claudio, il parametro è /home/claudio/Documenti/Archivio. Nota che la cartella Archivio deve essere già stata creata nel file system.
  • NomeUtente: il nome breve dell’utente. Per esempio, per montare la condivisione accedendo ad essa come utente claudio, il parametro è user=claudio.
  • PasswordUtente: la password dell’utente indicato nel parametro precedente. Per esempio, se la password di claudio è VivaTux, il parametro è pass=VivaTux.
  • NomeUtente: il nome dell'utente che diventerà proprietario di tutti i file e di tutte le cartelle che verranno montate se il server non fornisce indicazioni sui proprietari. Nella mia configurazione (ma non è detto che debba essere così per tutti), chi monta le condivisioni ha pieni poteri sui file. Per esempio, se l'utente è claudio il parametro è uid=claudio.

Ipotizzando che l’utente claudio voglia montare le condivisioni remote Archivio e Articoli, montandole in omonime sottocartelle della propria cartella Documenti, lo script potrebbe essere quello seguente.

#! /bin/bash
sudo mount -t cifs //192.168.3.86/Archivio /home/claudio/Documenti/Archivio -o user=claudio,pass=VivaTux,rw,uid=claudio
sudo mount -t cifs //192.168.3.86/Articoli /home/claudio/Documenti/Articoli -o user=claudio,pass=VivaTux,rw,uid=claudio

Questo script può essere eseguito al bisogno o, come descritto più avanti, può essere inserito tra le applicazioni eseguite automaticamente al login.

Nella Figura 5 puoi osservare un esempio di unità di rete mappate come cartelle locali.

{boxplus href=|images/Articoli/Art_0160_05.png| title=|Figura 5. Sono state montate 17 risorse remote, mappate come cartelle locali.|}Mappatura unità di rete in Ubuntu{/boxplus}

Nella home dell’utente è stata creata una cartella Rete, che contiene le due sottocartelle Opuscolo e Prezzemolo (i nomi dei due server nella LAN); in ognuna delle due sottocartelle sono state create altre sottocartelle con i nomi delle condivisioni remote. Ogni condivisione remota usa come punto di mount la cartella locale con il proprio nome.

Per smontare le condivisioni, è sufficiente uno script con un comando generico, come quello seguente.

#!/bin/bash
sudo umount -a -t cifs

Se vuoi solo fare il logout per accedere come nuovo utente, ti conviene configurare uno script che smonti le condivisioni e faccia poi il logout: talvolta Ubuntu non riesce a smontare correttamente le condivisioni CIFS. Ti consiglio perciò di fare qualche prova, soprattutto se la connessione è senza fili: se il logout avviene correttamente e le condivisioni sono smontate, usa pure la procedura normale di Ubuntu. Se ti accorgi che il logout non funziona o che le condivisioni non vengono smontate (te ne accorgi se, accedendo come altro utente, le condivisioni dell’utente precedente sono ancora attive), allora usa lo script seguente per il logout.

#!/bin/bash
# Logout.sh
sudo umount -a -t cifs
gnome-session-quit --logout

Montaggio automatico delle cartelle remote al login

Per far sì che le cartelle remote siano montate automaticamente al login dell’utente, la procedura è molto semplice.

Innanzi tutto, per ogni utente crea uno script per il montaggio delle condivisioni, specificando i punti di mount all’interno della home.

Salva tutti gli script in una cartella del file system. Poiché gli script contengono il nome utente e la password è opportuno inserirli in una cartella sufficientemente protetta contro curiosità indebite: /sbin potrebbe essere una buona scelta.

Per inserire i file in /sbin devi operare come superutente.

Ricordati che i file devono avere il permesso di esecuzione attivo. Per assegnare il permesso di esecuzione, impartisci il comando

sudo chmod +x NomeFile

operando come superutente. Sostituisci NomeFile con il nome effettivo del file.

Poi, per ogni utente, apri la Dash e avvia Applicazioni d’avvio (Figura 6), poi compi i passi seguenti.

{boxplus href=|images/Articoli/Art_0160_06.png| title=|Figura 6. Nella Dash, rintraccia Applicazioni d’avvio.|}Mappatura unità di rete in Ubuntu{/boxplus}

Nella finestra principale, fai clic su Aggiungi.

Nella finestra Aggiunta programma d’avvio, inserisci nella casella Comando il nome dello script che hai creato, completo del percorso. Se ti è comodo, usa il pulsante Esplora per sfogliare le cartelle del disco.

Assegna un nome e un commento al programma, come nell’esempio della Figura 7.

Mappatura unità di rete in Ubuntu

Fai clic su Aggiungi. Ora la finestra principale riporta come applicazione d’avvio lo script indicato (Figura 8).

{boxplus href=|images/Articoli/Art_0160_08.png| title=|Figura 8. Lo script verrà eseguito ad ogni login dell’utente.|}Mappatura unità di rete in Ubuntu{/boxplus}

Attenzione! Se dopo l'aggiornamento a Ubuntu 13.04 (e seguenti), il montaggio non va a buon fine e ricevi il messaggio Input/Output error, leggi l'articolo Linux: Input/Output error in Ubuntu 13.04 (e seguenti).

*

Puoi offrire il tuo contributo sul tema di questo articolo lasciando un commento.
La pubblicazione dei commenti è sottoposta ad alcune regole.

Se pensi che questo articolo sia interessante e vuoi farlo conoscere, il metodo più rapido è inviare il link per posta elettronica (facendo clic sull'icona con la busta che trovi sopra al titolo) o consigliarlo nei social network cui sei iscritto, facendo clic sui pulsanti posti sopra al titolo dell'articolo o qui sotto.

*

Piede

Copyright © 2016 Il sito di Claudio Romeo --
- Alcuni diritti sono riservati