Far ballare la Samba a Windows con Linux  (#3)

Windows 10 e Linux via Samba

È venuto il momento di trarre i dovuti vantaggi dalle impostazioni dei nostri PC Windows o Linux come Server Samba, che abbiamo visto nella parte 2 dell’articolo. È il momento cioè di collegarci da un PC Client ad un PC Server sulla nostra Rete locale ed accedere ai file remoti sul Server come se si trovassero sul dispositivo che stiamo usando al momento. In questa terza parte ci limiteremo a descrivere le connessioni tra PC Client e PC Server basati su sistemi operativi diversi cioè tra un PC Client Windows 10 ed un PC Server Linux (Mint o Ubuntu) e tra un PC Client Linux (Mint o Ubuntu) ed un PC Server Windows 10. Cominciamo con Windows 10.

Connessione da PC Client Windows 10 a PC Server Linux (Mint o Ubuntu).

La prima cosa da fare è dare un’occhiata alla pagina di Rete del File Explorer di Windows: se tutto funziona a dovere, in questa pagina comparirà ogni dispositivo e PC presente in rete, identificato da una sua distinta icona, inclusi i PC basati su sistema operativo Linux:

Pagina di Rete

In questo caso l’accesso al Server remoto Linux è semplicissimo: basta aprire l’icona del PC Linux. Al suo interno compariranno tutte le cartelle di cui abbiamo impostato la condivisione sul Server Linux: cartelle pubbliche, cartelle Home personali, ecc.

Cartelle Condivise

Facendo clic su una di queste cartelle condivise, potremo accedere al contenuto della cartella alle condizioni stabilite per quella cartella, come abbiamo già visto nella parte 2. Se ad esempio stiamo usando sul PC Client l’Account Utente 'mariorossi' e sul PC Server è presente questo medesimo Account Utente (dotato di relativo Alias Samba), potremo immediatamente accedere in modo trasparente a tutto il contenuto delle cartelle remote condivise che permettono l’accesso a questo Account Utente, come ad esempio la sua cartella Home personale e le cartelle Pubbliche. Non dovremo nemmeno inserire la nostra password dato che il PC Server Linux ci “riconoscerà” automaticamente come 'mariorossi'.

Se invece stiamo usando sul PC Client un Account Utente che non esiste sul PC Server, come ad es. 'mariobianchi', potremo accedere in modo trasparente solo ai contenuti delle eventuali cartelle Pubbliche condivise che permettono l’accesso come Utente “ospite”: se proviamo ad aprire una qualsiasi altra cartella condivisa che richiede le credenziali di un Account Utente (Nome Utente e Password), comparirà la classica finestra di Login Remoto per l’inserimento di queste credenziali:

Credenziali Login Remoto

A questo punto però non potremo usare le credenziali di 'mariobianchi' dato che il Server non potrà “riconoscere” questo Utente, che non è presente nella lista degli Utenti “registrati” sul Server, ma potremo sempre usare, volendo, le credenziali di accesso di un altro Utente Registrato (ad es. 'mariorossi') se le conosciamo.

Purtroppo, non sempre i PC Linux in rete compaiono correttamente visibili nella pagina di Rete del File Explorer di Windows 10, ed è un problema che non riguarda affatto solo i PC basati su Linux, la stessa cosa accade a volte anche per PC remoti basati su Windows 10.

Ma c’è uno strumento molto semplice per verificare subito che la mancata visualizzazione del PC remoto nella pagina di Rete non è dovuta a qualche malfunzionamento della Rete stessa, e che il PC che non compare visibile è comunque perfettamente presente e raggiungibile sulla nostra Rete Locale: si tratta del famoso comando 'ping', che si può usare sia nel Prompt dei Comandi di Windows che nel Terminale di Linux. Apriamo il Prompt dei Comandi e digitiamo il comando 'ping' seguito dal Nome del Computer che vogliamo individuare in rete, quindi eseguiamolo con il tasto A Capo:

Comando Ping

Il comando eseguirà una breve serie di scambi di pacchetti di dati con il PC remoto: se questi scambi vengono eseguiti con successo, sia in andata che in ritorno (come appare nel breve “rapporto” conclusivo del comando 'ping') significa che il PC remoto è perfettamente connesso e raggiungibile in rete, anche se non compare nella pagina di Rete.

La mancata comparsa nella pagina di Rete in effetti non è dovuta quasi mai ad un problema di funzionamento della Rete stessa ma semplicemente ad un difetto della pagina di Rete del File Explorer di Windows. Il problema sembra legato all’ordine di avvio dei vari PC in rete: nella pagina di Rete del File Explorer di solito compariranno correttamente tutti i PC che sono stati avviati dopo il nostro PC “locale” ma non quelli che sono stati avviati prima. È però molto scomodo dover ogni volta riavviare un PC che funge da Server Samba solo per permettergli di comparire sulla pagina di Rete di qualche altro PC Client: senza contare il fatto che sulla nostra Rete esiste magari qualche altro Utente già connesso a quello stesso PC Server che dovremmo riavviare.

Il comando 'ping' ci fornisce sul PC remoto un’altra preziosa informazione che può tornarci utile in seguito: l’indirizzo IP del PC Remoto sulla Rete Locale. Come si vede nell’illustrazione sopra, l’indirizzo IP del PC denominato “linuxmint201” è 192.168.1.8. Potremo usare direttamente questo indirizzo IP per connetterci a questo PC nel caso che un tentativo di connessione usando il Nome del Computer non funzionasse, una cosa che accade di rado ma che può verificarsi.

Ora che ci siamo accertati, con il comando 'ping', che il PC Server remoto che non compare nella pagina di Rete del File Explorer è perfettamente connesso e raggiungibile in rete, è il momento di connetterci al PC Server usando un metodo alternativo. Lo si fa con il comando Aggiungi percorso di rete presente nel menù contestuale che si apre quando si fa clic-destro sulla voce “Questo PC”, nell’elenco a sinistra della finestra del File Explorer:

Aggiungi Percorso di Rete

Questo comando avvia un “wizard” cioè una procedura guidata che ci consentirà di connetterci al PC Server remoto e di selezionare la Cartella Condivisa (chiamata appunto “percorso di rete”) alla quale vogliamo accedere.

Aggiungi Percorso di Rete pag 1

Nella pagina successiva selezionare l’opzione Scegliere un percorso di rete personalizzato (nelle Reti Locali che non hanno una struttura complessa è l’unica opzione disponibile), quindi fare clic su Avanti:

Aggiungi Percorso di Rete pag 2

Nella pagina successiva inserire, nel campo di testo “Indirizzo Internet o di rete”, il Nome del Computer remoto (Server Samba) al quale vogliamo collegarci, usando la notazione seguente: '\\LINUXMINT201\' (doppia barra inversa iniziale + Nome del Computer + singola barra inversa finale):

Aggiungi Percorso di Rete pag 3A

A questo punto potrebbe comparire automaticamente, al di sotto del campo di testo, un menù contenente le varie cartelle condivise sul PC remoto, dal quale potremo selezionare direttamente la cartella desiderata:

Aggiungi Percorso di Rete pag 3B

Nel caso in cui il menù automatico non comparisse, basterà fare clic sul pulsante Sfoglia… per aprire una comoda finestra di navigazione del contenuto della nostra Rete Locale, nella quale potremo scegliere il PC Server a cui collegarci e la relativa cartella condivisa:

Mini Browser di Rete

A volte può essere necessario attendere qualche secondo per consentire a questa finestra di navigazione di caricare correttamente il suo contenuto, oppure anche chiuderla con il pulsante Annulla e quindi riaprirla una seconda volta con il pulsante Sfoglia… Selezioniamo in questa finestra la cartella condivisa del Server che ci interessa, alla quale potremo accedere alle condizioni stabilite per quella cartella, che abbiamo già descritto più volte e che variano a seconda se stiamo usando sul PC Client un Account Utente che esiste anche sul PC Server oppure no, e se il PC Server contiene oppure no cartelle condivise che ammettono la connessione di un Utente Ospite (Guest). Facciamo clic su OK ed il percorso della cartella remota selezionata comparirà nel campo di testo “Indirizzo Internet o di rete”: facciamo clic su Avanti.

Aggiungi Percorso di Rete pag 3C

Nella pagina successiva della procedura guidata comparirà nel campo di testo il nome di default assegnato al Percorso di Rete che abbiamo selezionato: il formato di default è piuttosto lungo e descrittivo, una cosa che può anche essere utile lasciare com’è. Se vogliamo inserire per questo Percorso di Rete un nome più semplice e breve possiamo farlo:

Aggiungi Percorso di Rete pag 4

Nella pagina conclusiva della Procedura Guidata facciamo clic sul pulsante Fine per confermare la registrazione e l’apertura automatica del Percorso di Rete che abbiamo impostato:

Aggiungi Percorso di Rete pag 5

Si aprirà automaticamente una finestra con il contenuto della cartella remota, con cui potremo lavorare come se si trattasse di una cartella locale:

Contenuto Cartella Remota

La cartella remota verrà registrata in modo permanente nella sezione “Percorsi di rete” della pagina “Questo PC”, dove rimarrà disponibile d’ora in avanti:

Percorso di Rete Registrato

Alcune rare volte può accadere che la Procedura Guidata suddetta generi un messaggio di errore al momento di connettersi al PC Server usando il suo Nome (nell’esempio è “LINUXMINT201”). In questo caso si può usare al posto del Nome l’indirizzo IP del PC Server sulla Rete Locale, che ci viene restituito dal comando 'ping', come abbiamo già visto più sopra:

Connessione al Server via IP

Fare clic sul pulsante Sfoglia…, selezionare la cartella condivisa del PC Server e continuare la procedura guidata fino a conclusione:

Mini Browser di Rete via IP

Connessione da PC Client Linux Mint a PC Server Windows 10.

Anche il File Explorer di Linux Mint (chiamato “Nemo” oppure semplicemente “Files”) ha una pagina di Rete, utilizzabile per navigare nei dispositivi sulla Rete Locale. Come già visto nella parte 2, in questa pagina di Rete i vari PC con sistema operativo Linux compariranno tutti come distinte cartelle, ciascuna con il nome del PC relativo; i PC con sistema operativo Windows dovrebbero comparire tutti raggruppati all’interno della cartella “Rete Windows” che però di solito non funziona: se si tenta di aprirla genera un messaggio di errore oppure si apre ma è vuota al suo interno.

Pagina di Rete Linux Mint

Anche in questo caso, come nel caso già visto dei PC Linux che non compaiono nella Pagina di Rete del File Explorer di Windows 10, il problema è dovuto ad un difetto del File Explorer di Linux Mint e non ad un malfunzionamento della nostra Rete Locale. Anche in Linux Mint possiamo facilmente verificare che il PC Windows 10 con il quale vogliamo collegarci è perfettamente presente e raggiungibile in rete, usando nel Terminale lo stesso comando 'ping' che abbiamo usato nel Prompt dei Comandi di Windows.

C’è però una piccola differenza nel modo in cui questo comando funziona nei sistemi Linux: mentre in Windows il comando esegue l’operazione di “ping” (scambio di piccoli pacchetti di dati) solo quattro volte e poi si interrompe automaticamente generando il rapporto conclusivo, in Linux le operazioni di “ping” vengono eseguite in serie all’infinito e devono essere terminate manualmente da parte dell’utente, usando la combinazione di tasti Ctrl-C. Dopo l’interruzione manuale viene generato sul Terminale il rapporto conclusivo delle operazioni di “ping” eseguite:

Ping con terminazione manuale

Se lo si preferisce, esiste un modo anche in Linux di eseguire le operazioni di “ping” solo un certo numero di volte, producendo poi automaticamente il rapporto finale: si deve usare la forma seguente:

ping -c 6 windows10

aggiungendo il parametro '-c' (che sta per “count” o “conta”) e specificando il numero di volte che vogliamo eseguire il “ping” del PC remoto (in questo esempio 6):

Ping in numero definito

Come vediamo in entrambi i casi dal rapporto finale, il PC Windows col quale vogliamo collegarci è perfettamente raggiungibile in rete e risponde correttamente ai “ping” (“0% packet loss” = “zero pacchetti persi”). Anche in questo caso, come nel Prompt dei Comandi di Windows, il comando 'ping' ci restituisce l’utile informazione dell’indirizzo IP del PC remoto (192.168.1.10), che potrebbe tornarci utile in seguito.

È il momento di connetterci al PC Server Windows 10 usando un metodo alternativo a quello della cartella “Rete Windows”: lo facciamo usando il comando da menù File → Connetti al server… del File Explorer di Linux Mint:

Connetti al Server

Si apre la finestra di impostazione della connessione, nella quale dobbiamo prima di tutto selezionare l’opzione “Condivisione Windows” nel menù a discesa “Tipo”, quindi inserire i dati del PC Server al quale vogliamo connetterci: alla voce “Server” va inserito il Nome del PC Remoto, alla voce “Nome dominio” va inserito “WORKGROUP” (è il nome di default del Gruppo di Lavoro sia per i sistemi Windows che per quelli Linux), ed infine alle voci “Nome utente” e “Password” vanno inserite le credenziali di accesso del proprio Utente. In questo esempio di connessione usiamo il solito Utente 'mariorossi', che supponiamo presente sia sul PC Client che sul PC Server:

Connessione al Server

È utile selezionare l’opzione “Ricorda questa password”: in tal modo la password non ci verrà richiesta nuovamente al momento di accedere ad una Cartella Condivisa del Server. Facendo clic sul pulsante Connetti la connessione al PC Server Windows verrà stabilita e si aprirà una cartella contenente le Risorse Condivise disponibili sul Server: la cartella che ci interessa è quella denominata “Users” (“Utenti”) che contiene tutte le cartelle personali degli Utenti remoti e la cartella Pubblica di Windows1:

Cartella Radice del Server

Al momento di aprire la cartella “Users”, se abbiamo selezionato in precedenza l’opzione “Ricorda questa password”, l’accesso alla cartella sarà immediato, altrimenti la password ci verrà richiesta nuovamente (il Nome Utente 'mariorossi' ed il Nome Dominio di default saranno selezionati automaticamente):

Reinserimento Password

In questa finestra potremo anche selezionare l’opzione relativa alla “durata” della password inserita, tra le tre opzioni presentate in basso. Accedendo alla cartella “Users” avremo accesso sia alla cartella personale remota del nostro Utente ('mariorossi') sia alla cartella Pubblica del Server2 e potremo tranquillamente lavorare con il contenuto di queste cartelle remote come se fossero cartelle locali:

Cartelle Condivise Autorizzate

All’interno della cartella personale remota i nomi delle tipiche cartelle “tematiche” predefinite per ogni Utente compariranno in Inglese:

Contenuto Cartella Utente

La Risorsa Condivisa alla quale abbiamo avuto accesso (denominata in gergo “Samba Share”) compare nella barra verticale a sinistra del File Explorer, sotto la voce “Rete”, come se fosse un’Unità Disco connessa o “montata” sul Desktop: dispone infatti anche di un pulsante per la disconnessione (“Smonta” o “Unmount”), esattamente come un’Unità Disco:

Unità di Condivisione

Per comodità possiamo registrare in modo permanente questa “Unità di Rete” (“Samba Share”) tra i Segnalibri del File Explorer, in modo da averla sempre a disposizione, in modo analogo al “Percorso di Rete” di Windows 10 dell’esempio precedente. In questo caso basta fare clic-destro sulla voce in questione e selezionare “Aggiungi segnalibro”:

Aggiungi Segnalibro

Il nome dell’Unità di Rete verrà inserito e registrato permanentemente sotto la voce Segnalibri:

Segnalibro aggiunto

Come già visto per Windows 10, nel caso in cui la connessione al PC Server usando il suo Nome non funzioni, si può riprovare usando al posto del Nome l’indirizzo IP del Server, che ci viene restituito dal comando 'ping':

Connessione al Server via Indirizzo IP

* * * *

Facciamo ora l’esempio di una connessione da PC Client Linux Mint a PC Server Windows 10 usando sul Client un Account Utente che non esiste sul Server, come ad esempio 'mariobianchi'. L’esito di questa operazione dipende da come abbiamo impostato il Server Windows tramite l’opzione, già spiegata nella parte 2, Attiva/Disattiva condivisione protetta da password (nel profilo di rete “Tutte le Reti”) che determina se è possibile connettersi alle Risorse Condivise del Server come Ospite (Guest) oppure no.

Usiamo il comando da menù già visto, File → Connetti al server… del File Explorer di Linux Mint ed inseriamo i dati richiesti usando stavolta le credenziali di autenticazione di 'mariobianchi' (Account Utente che non esiste sul Server):

Connessione al Server di mariobianchi

Se il PC Server Windows 10 è impostato per ammettere la connessione di un Utente Ospite/Guest (Condivisione protetta da password DISATTIVATA), la connessione al Server verrà correttamente stabilita e comparirà la cartella contenente le Risorse Condivise disponibili sul Server1, esattamente come accade nel caso di connessione tramite un Account Utente esistente sul Server (ad es. 'mariorossi'):

Server connesso con Utente Ospite

Aprendo la cartella “Users”, se non abbiamo selezionato in precedenza l’opzione “Ricorda questa password”, dovremo inserire nuovamente la password di 'mariobianchi':

Reinserimento Password

In questa finestra non potremo usare l’opzione dell’accesso come Anonimo, che nei sistemi Linux corrisponde all’Utente Ospite (Guest) dei sistemi Windows: dovremo sempre usare le credenziali dell’Utente 'mariobianchi' già usate per connetterci al PC Server Windows 10: sarà poi il Server ad occuparsi di “identificare” 'mariobianchi' come Utente “registrato” oppure come Utente “ospite”.

Accedendo all’interno della cartella “Users” avremo la conferma che l’Utente 'mariobianchi' che stiamo usando è stato accettato dal Server semplicemente come Utente Ospite (Guest) generico, dato che comparirà visibile ed accessibile soltanto la cartella Pubblica del Server2:

Cartella Pubblica del Server

Se invece il PC Server Windows 10 è stato impostato per ammettere soltanto la connessione di Utenti “registrati” ma non di Utenti “ospiti” (Condivisione protetta da password ATTIVATA), dopo il clic sul pulsante Connetti della finestra “Connetti al server”, la cartella contenente le Risorse Condivise disponibili sul Server si aprirà ma stavolta sarà completamente vuota, ad indicare che per un Utente non presente sul Server come 'mariobianchi' non esiste nessuna Risorsa Condivisa disponibile:

Risorse Condivise Nulle

Connessione da PC Client Ubuntu a PC Server Windows 10.

Nel File Explorer di Ubuntu, la pagina di Rete si trova alla voce Altre posizioni sulla barra verticale a sinistra. La pagina è suddivisa in due sezioni: la sezione “Su questo computer” in alto mostra tutte le unità disco (interne, esterne, rimovibili, ecc.) connesse al nostro PC; il contenuto della Rete Locale si trova nella sezione “Reti”, dove i PC Linux in rete compaiono ciascuno con una propria distinta icona (incluso il nostro PC Ubuntu “locale”), mentre i PC Windows dovrebbero trovarsi tutti raggruppati all’interno della cartella/icona “Rete Windows”:

Pagina di Rete di Ubuntu

Come abbiamo già visto con Linux Mint, la cartella “Rete Windows” di solito non funziona ed al tentativo di aprirla mostra un messaggio di errore oppure apre una finestra vuota, anche se sappiamo benissimo che vi sono dei PC Windows connessi sulla nostra Rete Locale:

Cartella Rete Windows vuota

Anche in Ubuntu si può facilmente verificare che il PC Windows che ci interessa e che non possiamo visualizzare nella pagina di Rete di Ubuntu è comunque connesso e raggiungibile in rete: si può usare nel Terminale il comando 'ping' in un modo esattamente identico a quello già spiegato per il Terminale di Linux Mint.

Ping da Terminale Ubuntu

Per effettuare la connessione manuale con il PC Server Windows, la stessa pagina di Rete di Ubuntu ci offre un comodo strumento in basso: la barra Connetti al server, che svolge la stessa funzione del comando da menù già visto per Linux Mint. Nel caso di Ubuntu la connessione al server è anche più semplice: è sufficiente inserire l’indirizzo del PC Server usando la seguente notazione:

smb://WINDOWS10/

dove “smb” indica il protocollo di connessione usato (SMB = “Samba”), seguito dai due punti, dalla doppia barra obliqua e quindi dal nome del PC Server Windows al quale vogliamo collegarci (terminato con un’altra barra obliqua). Facciamo clic sul pulsante Connetti:

Connetti al Server in Ubuntu

Si apre la finestra per l’inserimento delle credenziali di autenticazione: il nome del nostro Utente (in questo caso il solito 'mariorossi') è già selezionato, così come il Nome Dominio (WORKGROUP): dobbiamo solo inserire la nostra password e stabilire la durata di memorizzazione della password usando una delle tre opzioni in basso:

Credenziali Autenticazione in Ubuntu

A questo punto si aprirà la finestra contenente le Risorse Condivise disponibili sul Server Windows: la cartella condivisa che ci interessa è quella “Users”1:

Risorse Condivise del Server

All’interno della cartella “Users” compariranno visibili le cartelle condivise alle quali abbiamo diritto di accesso con le credenziali appena inserite: la nostra cartella personale sul Server e la cartella Pubblica2, dato che, come in tutti gli esempi già fatti in precedenza, supponiamo che l’Account Utente 'mariorossi' sia presente sia sul PC Client Ubuntu che sul PC Server Windows. Ora possiamo lavorare con il contenuto di queste cartelle remote come se fossero cartelle locali:

Cartelle Condivise del Server

All’interno della nostra cartella Utente personale, le varie cartelle tematiche di default compariranno con i nomi in Inglese:

Cartelle Tematiche Utente

Per comodità, come abbiamo già visto con Linux Mint, possiamo fissare in modo permanente l’Unità di Rete (“Samba Share”) alla quale ci siamo connessi, nei Segnalibri del File Explorer di Ubuntu, facendo clic-destro sulla voce dell’Unità di Rete a sinistra e selezionando dal menù contestuale “Aggiungi segnalibro”:

Aggiungi Segnalibro

Verrà creata una nuova voce permanente per l’Unità di Rete (“Samba Share”) che non è dotata del pulsante di disconnessione (“Smonta” o “Unmount”) come la “voce temporanea” al di sopra:

Segnalibro Aggiunto

Va ricordato inoltre che il pulsante con il piccolo triangolino, subito a destra del campo di inserimento dell’indirizzo del Server, può essere usato per aprire una comoda lista dei Server recenti con i quali si è effettuata una connessione in precedenza:

Lista Server Recenti

Anche con Ubuntu, in caso di problemi di connessione al PC Server, possiamo usare, al posto del Nome del Server (“WINDOWS10”), il suo indirizzo IP, come restituitoci dal comando 'ping':

Connessione al Server via indirizzo IP

* * * *

Facciamo infine l’esempio di connessione al PC Server Windows usando sul PC Client Ubuntu un Account Utente che non esiste sul Server, come 'mariobianchi'. Non appena fatto clic sul pulsante Connetti della barra Connetti al server, comparirà la solita finestra per l’inserimento delle credenziali di autenticazione nella quale sia il nostro Nome Utente che il Nome Dominio saranno già inseriti correttamente: dovremo solo inserire la nostra password e deciderne la durata di memorizzazione:

Credenziali Autenticazione mariobianchi

A questo punto il risultato dipenderà dall’impostazione del PC Server Windows: se è stato impostato per ammettere la connessione di un Utente Ospite/Guest (Connessione protetta da password DISATTIVATA), la connessione al Server verrà stabilita e comparirà la finestra contenente le Risorse Condivise sul Server1, esattamente come nel caso di connessione con un Account Utente presente sul Server (ad es. 'mariorossi'):

Risorse Condivise sul Server

Al momento di aprire la cartella “Users” però, al suo interno troveremo soltanto la cartella Pubblica2 che è l’unica cartella accessibile per gli Utenti Ospiti/Guest, a riprova che il nostro Utente 'mariobianchi' è stato automaticamente identificato dal Server come Utente Ospite:

Cartella Pubblica del Server

Nel caso in cui il PC Server Windows 10 sia stato impostato per non ammettere la connessione di Utenti Ospiti (Connessione protetta da password ATTIVATA), la connessione al Server non verrà stabilita e la finestra per l’inserimento delle credenziali di autenticazione ricomparirà ciclicamente per segnalarci che le credenziali dell’Utente 'mariobianchi' appena inserite non sono valide per la connessione al Server. A quel punto, se vogliamo, potremo inserire le credenziali di accesso di un Account Utente presente sul Server (ad es. 'mariorossi'), a patto che le conosciamo ovviamente: in caso contrario non ci resta che fare clic sul pulsante Annulla per annullare il tentativo di connessione al Server.

Problema dei Permessi di Modifica nelle cartelle Pubbliche dei sistemi Linux.

Lo scopo delle cartelle Pubbliche è quello di mettere a disposizione in Rete il loro contenuto non ad un singolo Account Utente (come accade con la condivisione delle cartelle Home personali) ma a tutti gli Utenti sulla Rete che abbiano diritti di accesso alle suddette cartelle Pubbliche (Utenti “registrati” ed eventualmente “ospiti”). Nella cartella Pubblica di default di Windows 10 i documenti e le cartelle al suo interno sono accessibili sia in Lettura che in Scrittura/Modifica per tutti gli Utenti che hanno diritto di accesso. Le cartelle Pubbliche dei sistemi Linux, impostate con le modalità che abbiamo visto nella parte 2, funzionano in modo simile ma con due importanti differenze.

La prima differenza è che nelle cartelle Pubbliche dei sistemi Linux tutti i documenti sono accessibili in Lettura e Scrittura/Modifica solo per gli Utenti che si collegano da PC Client anch’essi basati su Linux, ma non per gli Utenti che si collegano da PC Client basati su Windows 10. La cosa è dovuta al diverso modo con cui Linux e Windows gestiscono i permessi di accesso a documenti e cartelle.

Per capire meglio questo punto, torniamo al punto della parte 2 in cui abbiamo visto che nei sistemi Linux il modo migliore per accedere alla cartella Pubblica del nostro PC (impostato come Server Samba) non è quello di usare il “percorso locale” della cartella (Home [mariorossi] → Pubblici) ma il suo “percorso di rete”. Usando il “percorso locale” è assai probabile trovarsi di fronte ad uno spettacolo come il seguente:

Cartella Pubblica in percorso locale

Le piccole icone (“badge”) dei lucchetti sovrapposte ad alcuni documenti non significano che quei documenti sono inaccessibili ma semplicemente che sono stati creati/modificati da un Utente diverso dall’Utente che stiamo usando in quel momento e quindi hanno un diverso “proprietario”. Se apriamo uno di quei documenti usando il “percorso locale” della cartella Pubblica, lo potremo aprire soltanto in modalità di Sola Lettura. Se invece apriamo la nostra cartella Pubblica dal suo “percorso di rete” notiamo come i vari “badge” dei lucchetti sono spariti e possiamo accedere in Lettura e Scrittura/Modifica a tutti i documenti, esattamente come può fare ogni altro Utente che si colleghi da remoto a questa cartella (“registrato” o “ospite”) da un un PC Client basato su Linux:

Cartella Pubblica in percorso di Rete

Gli Utenti che invece si collegano a questa cartella da un PC Client Windows 10 si troveranno di fronte al medesimo scenario che in ambiente Linux si presenta accedendo alla nostra cartella Pubblica dal suo “percorso locale”. Nel File Explorer di Windows non compariranno i “lucchetti”, ad indicare che su un dato documento abbiamo solo diritti di Lettura ma non di Scrittura/Modifica:

Cartella Pubblica di Linux da Windows

ma se proveremo ad aprire un documento il cui “proprietario” è diverso dall’Utente che stiamo usando in quel momento sul PC Client Windows, comparirà il messaggio seguente:

Accesso Documento in Sola Lettura

che ci informa che stiamo aprendo un documento sul quale abbiamo diritti di Sola Lettura, non di Scrittura/Modifica.

Possiamo illustrare meglio questa importante differenza nella gestione dei permessi di accesso tra Windows e Linux con alcuni semplici esempi. In un PC Client basato su Windows 10 accediamo alla cartella Pubblica di un altro PC Windows 10 sulla nostra Rete Locale impostato come Server Samba, usando uno dei metodi di connessione spiegati più sopra in questo articolo. Apriamo una cartella qualsiasi all’interno della cartella Pubblica, facciamo clic-destro su un documento qualsiasi e selezioniamo dal menù contestuale la voce “Proprietà”, quindi selezioniamo la scheda “Sicurezza”. In questa scheda possiamo visualizzare in alto l’elenco completo degli Utenti e dei Gruppi che hanno accesso al documento ed in basso l’elenco dei relativi privilegi (“Autorizzazioni”): ogni documento ha sempre un Account Utente “proprietario” che possiede sia i privilegi di Lettura che di Scrittura/Modifica sul documento. In questo documento di esempio il “proprietario” è il solito 'mariorossi':

Scheda Permessi mariorossi

Esiste poi anche un gruppo denominato “Everyone” che possiede privilegi completi (Lettura e Scrittura) sul medesimo documento: questo fa sì che ogni Utente sulla Rete Locale che ha diritti di accesso alla cartella Pubblica di un PC Server Windows, ha di conseguenza anche diritti completi di Lettura e Scrittura su tutti i documenti e cartelle all’interno, anche nel caso di un Utente “ospite” (Guest) perché comunque fa parte del gruppo “Everyone”:

Scheda Permessi Everyone

Proviamo ora ad aprire, sempre dal nostro PC Client Windows 10, una cartella Pubblica di un PC Server Linux sulla nostra Rete Locale. Facciamo clic-destro su un documento qualsiasi, selezioniamo la voce “Proprietà” dal menù contestuale quindi la scheda “Sicurezza”: anche in questo caso vediamo che il “proprietario” del documento (il solito 'mariorossi') ha i permessi sia di Lettura che di Scrittura:

Scheda Permessi mariorossi in Linux

Se però selezioniamo il gruppo “Everyone”, che raggruppa tutti gli altri Utenti (inclusi gli eventuali “ospiti”), vediamo che, a differenza della cartella Pubblica del PC Server Windows, questo gruppo possiede soltanto il permesso di Lettura sul documento in questione e nessun altro:

Scheda Permessi Everyone in Linux

Un altro punto importante da ricordare, a proposito di permessi, è che anche i documenti creati da un qualsiasi Utente che si è connesso al Server Samba come “ospite” (Guest/Anonimo) hanno un “proprietario”: l’Utente 'nobody', come si vede in figura:

Scheda Permessi Ospite/Nobody

La qual cosa significa che tutti gli Utenti in Rete che si connetteranno come “ospiti” avranno su questo documento gli stessi privilegi di Lettura e Scrittura attribuiti all’Utente 'nobody'.

La seconda importante differenza di comportamento delle cartelle Pubbliche di Linux rispetto a quelle di Windows riguarda la creazione di eventuali sottocartelle (inglese: subfolders) all’interno della cartella Pubblica. Quando un qualsiasi Utente collegato alla cartella Pubblica di Linux crea una nuova sottocartella al suo interno, questa sottocartella sarà accessibile in Lettura e Scrittura solo per il suo “proprietario” (l’Utente che l’ha creata) che sarà l’unico a poter creare e salvare documenti al suo interno: tutti gli altri Utenti avranno accesso alla cartella ed al suo contenuto in Sola Lettura, e se vogliono modificare un documento contenuto all’interno questa sottocartella dovranno salvare le modifiche apportate in una copia del documento, salvando questa copia al livello principale (“radice”) della cartella Pubblica (accessibile in Lettura e Scrittura a tutti), oppure all’interno di una diversa sottocartella di loro “proprietà”. Questo funzionamento vale sia per gli Utenti che si collegano da PC Client Windows che da PC Client Linux. Possiamo illustrare graficamente la cosa mostrando una cartella Pubblica di Linux aperta dal suo “percorso locale” (Home [mariorossi] → Pubblici):

Cartella Pubblica in percorso locale

Come si vede, la sottocartella creata dall’Utente 'marioverdi' è “lucchettata” cioè accessibile in Sola Lettura per 'mariorossi', che è l’Utente al momento collegato (in questo caso è l’Utente stesso che ha impostato la condivisione della cartella Pubblica). La sottocartella creata da 'mariorossi' invece è accessibile in Lettura e Scrittura dato che 'mariorossi' è l’Account Utente al momento collegato. Anche se il “badge” del lucchetto sulla sottocartella non comparirà poi visibile per gli Utenti che si collegano alla cartella Pubblica dal suo “percorso di rete” (da PC Client Windows o Linux), il comportamento della sottocartella resterà comunque quello appena descritto:

Cartella Pubblica in percorso di Rete

Quello appena illustrato è il funzionamento di default delle cartelle Pubbliche nei sistemi Linux. Naturalmente è possibile impostare le cartelle Pubbliche di Linux in modo da farle funzionare esattamente come quelle di Windows, cioè concedendo permessi completi di Lettura e Scrittura/Modifica su tutto il contenuto a tutti gli Utenti che abbiano accesso a queste cartelle (“registrati” ed eventualmente “ospiti”), ma la cosa richiede una conoscenza approfondita delle impostazioni di Samba nei Server Linux e la modifica di uno speciale file di configurazione, chiamato 'smb.conf', che contiene tutte le impostazioni del Server Samba. Le spiegazioni necessarie per illustrare questo approccio di tipo avanzato alla configurazione di un Server Samba basato su Linux non possono essere inserite in un articolo come questo, dato che richiederebbero un lungo articolo, se non una serie di articoli, a parte (che non escludo di scrivere più avanti). Qui mi limiterò dunque a proporre un paio di semplici soluzioni al problema dei permessi di Scrittura/Modifica nelle cartelle Pubbliche di Linux, che siano applicabili da parte di chiunque, senza richiedere l’uso intensivo del Terminale ed una conoscenza approfondita delle impostazioni di configurazione del Server Samba.

Le soluzioni che propongo qui di seguito sono utili e necessarie solo nel caso in cui abbiamo bisogno di creare, sulla nostra Rete Locale, uno o più ambienti collaborativi nei quali un gruppo di Utenti abbia bisogno, oltre ai permessi di Lettura, anche dei permessi di Scrittura/Modifica su uno stesso gruppo di documenti e cartelle. Nella maggior parte dei casi, come ad esempio la riproduzione di file multimediali (Video, Musica, ecc.), la visualizzazione di documenti PDF o di librerie di immagini e foto, e simili, l’accesso in modalità di Sola Lettura alle Risorse Condivise tramite Samba è perfettamente adeguato per riprodurre o visualizzare tutti questi file sulla nostra Rete Locale senza problemi, e ci consente di impostare una quantità di “librerie pubbliche” di contenuti, accessibili da remoto da qualunque punto della Rete. La cosa è ad esempio particolarmente utile per quanto riguarda l’accesso ai nostri Server Samba tramite i dispositivi mobili (tablet e smartphone) che sono prevalentemente dispositivi di lettura e riproduzione di contenuti (lettura di ebook, visione di film, ascolto di musica, ecc.). Alcuni esempi di accesso ai Server Samba dai dispositivi mobili li ho illustrati in questo articolo conclusivo.

Va inoltre tenuto presente che chi avesse bisogno di creare ambienti collaborativi avanzati potrebbe aver bisogno di uno dei tanti strumenti software dedicati che il mercato mette a disposizione, come Google Workspace o Collabora Online. Vediamo ora le soluzioni collaborative semplici che possiamo adottare sulla nostra Rete Locale usando un PC Linux come Server Samba.

Soluzione 1: Ambiente Collaborativo “aperto a tutti”.

Per ottenere questo risultato si deve anzitutto impostare una cartella Pubblica sul Server Linux che abbia l’Accesso “ospite” attivato:

Cartella Pubblica per tutti
(Nota: il messaggio di errore The share name is too long può essere ignorato)

Quindi ci si deve accertare che su questo PC Server Linux nessuno degli Account Utente locali (residenti sul PC) abbia un corrispondente Alias Samba. In tal modo, tutti gli Utenti che si connetteranno da remoto a questo Server, sia da un PC Client basato su Linux che da uno basato su Windows, saranno tutti automaticamente identificati dal Server come “ospiti”, che in ambiente Linux sono identificati dal Nome Utente 'nobody' come abbiamo già visto. In tal modo tutti i documenti e tutte le cartelle all’interno della cartella Pubblica di fatto apparterranno al medesimo Utente 'nobody', valido per identificare chiunque si colleghi, e di conseguenza tutti gli Utenti sulla Rete Locale avranno pieno accesso in Lettura e Scrittura/Modifica su tutto il contenuto della cartella Pubblica del Server Linux, esattamente come accade con la cartella Pubblica dei sistemi Windows.

Chi si collega al PC Server da un PC Client basato su Linux, in questo caso non deve usare l’opzione di connessione come Anonimo ma inserire direttamente le credenziali dell’Account Utente che sta usando sul PC Client (ad es. 'mariobianchi').

Autenticazione Credenziali Utente

Questo per evitare problemi di permessi di modifica con le sottocartelle all’interno della cartella Pubblica, che si verificano quando si usa l’opzione di collegamento Anonimo. Sarà poi il Server Linux ad identificare automaticamente il nostro Account Utente come “ospite” ('nobody').

Questa particolare impostazione del Server ha però due conseguenze importanti: la prima è che nessuno degli Account Utente presenti su questo Server Linux potrà condividere in Rete il contenuto della propria cartella Home personale, e quindi lavorare da remoto su questo contenuto, perché questo tipo di condivisione “privata” (senza accesso da parte di altri Utenti, come abbiamo visto nella parte 2) è possibile solo tramite l’utilizzo di un Alias Samba. Si perde quindi una funzionalità importante di condivisione, ma la cosa può comunque essere utile se abbiamo davvero bisogno di creare un ambiente collaborativo “aperto a tutti” su un dato PC Server della nostra Rete. La seconda importante conseguenza è che a questo tipo di cartella Pubblica in ambiente Linux avranno accesso pieno, in Lettura e Scrittura, tutti gli Account Utente di tutti i PC in Rete, sia Linux che Windows, nessuno escluso: questa cartella Pubblica di Linux funzionerà esattamente come la cartella Pubblica di Windows 10 quando la Condivisione Protetta da Password è DISATTIVATA.

Soluzione 2: Ambiente Collaborativo per gruppi selezionati.

Possiamo ottenere questo risultato creando sul PC Server Linux uno o più Account Utente “speciali” che funzioneranno da “gruppo di lavoro”, come ad esempio l’Account “Progetto 1” (Nome Utente: 'progetto1'), “Progetto 2” (Nome Utente: 'progetto2') e così via. Aggiungiamo questi Account Utente al gruppo “sambashare”, come abbiamo visto nella parte 2.

Modulo Utenti e Gruppi

Quindi creiamo gli Alias Samba per questi Account Utente nel modo seguente:

Creazione Alias Samba

Infine procediamo a condividere in Rete le cartelle Home personali di questi Account Utente “speciali”, usando le impostazioni per la condivisione “privata”, come già visto nella parte 2:

Cartella Home personale

Opzioni di Condivisione

Cartella Home personale condivisa

Può essere consigliabile, anche se non strettamente necessario, che su questo Server esistano soltanto gli Alias Samba per questi Account Utente “speciali” e nessun altro. Così qualunque Utente si colleghi alle Risorse Condivise del Server potrà farlo soltanto se conosce le credenziali di accesso dell’Account Utente che rappresenta il proprio “gruppo di lavoro” (“Progetto 1”, “Progetto 2”, ecc.): una volta autenticatosi, l’Utente avrà accesso pieno in Lettura e Scrittura alla cartella del progetto, dato che si sarà autenticato come il “proprietario” della cartella. A questo punto non ci resta che impostare i nostri “gruppi di lavoro” comunicando solo alle persone interessate la password di accesso al relativo Account Utente di tipo “collaborativo”: sarà anche facile “revocare” il diritto di accesso ad uno o più specifici Utenti sulla Rete semplicemente cambiando la password dell’Account Utente del “gruppo di lavoro” e quindi comunicandola solo ai membri del gruppo aventi diritto.

Anche in questa modalità “gruppo di lavoro” può accadere che, provando ad aprire ad esempio un documento dell’Account Utente “Progetto 1” al quale ci siamo connessi (sia da PC Client Windows che Linux), compaia il messaggio di avvertimento che ci propone di aprire il documento in modalità di Sola Lettura oppure di aprirne una copia:

Accesso Documento in Sola Lettura

ma questo accadrà soltanto nel caso in cui in Rete ci sia già un altro Utente connesso al medesimo Account “Progetto 1” e che abbia aperto lo stesso documento che noi stiamo cercando di aprire da un’altra postazione in Rete: il messaggio ci informa chiaramente su qual è l’Utente che al momento ha aperto il documento e ci sta lavorando in Lettura/Scrittura (nell’esempio è il solito 'mariorossi'). Ci viene anche concesso, volendo, di aprire questo documento non in semplice modalità di Sola Lettura ma in modalità piena di Lettura/Scrittura (“Puoi anche ignorare il blocco del file e aprire il documento per modificarlo” → pulsante Apri). Ma bisogna ricordare che i diritti di Lettura/Scrittura su un dato documento possono essere concessi dal servizio di Condivisione solo ad un Utente per volta, per evitare inconsistenze nel contenuto del documento: per questo motivo ci potrebbe essere richiesto di salvare le nostre ultime modifiche al documento in una nuova copia dello stesso, se l’altro Utente contemporaneamente connesso ha salvato con successo le proprie modifiche sull’originale. In ogni caso il servizio di Condivisione Samba ci terrà correttamente informati sullo stato della condivisione, e ci fornirà i messaggi informativi necessari per fare le scelte adeguate e non perdere nulla delle modifiche fatte: nel caso di richiesta di salvataggio delle nostre modifiche su una nuova copia del documento originale, si può usare la semplice formula di aggiungere, in fondo al nome del documento originale, il nostro Nome Utente con la data/ora in formato compatto, tipo: “Progetto 1 – Sintesi [mariobianchi-20210526-1830]”.

Quella appena descritta è la modalità di default dell’accesso ai documenti tramite Condivisione Samba in modalità Lettura/Scrittura: come già detto più sopra, chi abbia bisogno di soluzioni collaborative che consentano l’accesso contemporaneo in Scrittura ad uno stesso documento da parte di più Utenti, dovrà rivolgersi ad una delle soluzioni dedicate che il mercato offre, come Google Workspace o Collabora Online.

Per evitare possibili problemi, infine, è necessario che gli Account Utente “speciali” che funzionano come “gruppo di lavoro” non siano di tipo Amministratore ma di tipo Standard (o Predefinito), in modo che nessuno dei membri del gruppo di lavoro abbia accesso alle funzioni amministrative del sistema operativo, dopo che si è autenticato come membro del “Progetto 1”, “Progetto 2”, ecc. Su questo Server Linux dovrà quindi esistere almeno un Account Utente di tipo Amministratore che non sia uno degli Account “speciali” creati per i “gruppi di lavoro”.

CONCLUSIONE:

L’argomento della Condivisione Samba è assai vasto e complesso, ma sulla base delle informazioni fornite in questa serie di articoli e delle semplici soluzioni suggerite, è possibile impostare, sulla nostra Rete Locale, una quantità di servizi di condivisione molto utili, come:

1.   Condivisione di tutti i nostri contenuti personali, associati al nostro Account Utente che usiamo sui differenti dispositivi, in modalità “privata” ed accessibili da qualunque punto della Rete.

2.   Creazione di una serie di “librerie pubbliche” di contenuti multimediali (film, musica, album fotografici, ebook, ecc.) accessibili a tutti gli Utenti sulla nostra Rete oppure solo ad un gruppo selezionato di Utenti “registrati”.

3.   Creazione di ambienti di lavoro collaborativo nei quali tutti gli Utenti sulla nostra Rete, oppure un gruppo selezionato di essi, abbiano accesso pieno in Lettura e Scrittura/Modifica ad uno stesso insieme di documenti condivisi.


Note:

1  Le cartelle denominate “ADMIN$” e “C$” sono cartelle di livello amministrativo dei sistemi Windows che comunque non sono accessibili dai PC Client Linux, nemmeno usando le credenziali di accesso di un Account Utente di tipo Amministratore. Possono essere quindi tranquillamente ignorate: tutte le Risorse Condivise che ci interessano si trovano all’interno della cartella “Users”.

2  La cartella “Default”, normalmente invisibile nei sistemi Windows, serve per registrare gli elementi comuni a tutti gli Account Utente impostati su un dato PC Windows. Di solito contiene solo i “collegamenti” sul Desktop delle applicazioni che abbiamo installato sul sistema, le cui icone (“collegamenti”) compaiono sul Desktop di tutti gli Utenti del PC. Può essere tranquillamente ignorata.

Mi occupo di sviluppo e messa a punto di sistemi informatici basati su software open-source, gratuito o a basso costo. Ritengo sia possibile ottenere risultati di eccellente livello, in termini di qualità e produttività, a costo zero per quanto riguarda il software ed a costi contenuti per quanto riguarda l'hardware. Attualmente mi dedico alla messa a punto di sistemi informatici basati sul sistema operativo open-source Linux, usando le versioni più accessibili e di facile utilizzo (Ubuntu, Mint, ecc.). Ritengo che Linux possa essere proposto a tutti come una validissima alternativa gratuita a Microsoft Windows, anche in ambiti professionali. Sul versante del web mi dedico in particolare all’utilizzo in chiave professionale dei numerosi strumenti gratuiti offerti dal Mondo Google, che non è solo Posta elettronica (Gmail) ma molto altro.

Pubblicato su Linux, Networking, Open-source, Windows 10

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Chi sono

Fabrizio Manizza

PC Trainer

Profilo Linkedin Profilo Facebook Invio E-mail Info
Sostienimi
Se hai trovato davvero utile qualcuno di questi articoli, potresti sostenere il mio progetto con una: Fai una Donazione
%d blogger hanno fatto clic su Mi Piace per questo: