Il requisito necessario è che sul computer che ha Windows sia installato FreeBSD e aggiornato:
Installazione di Syncthing su FreeBSD
Per prima cosa bisogna installare Syncthng su FreeBSD quindi lancia questo comando:
Noterai che Syncthing creerà automaticamente un utente che si chiama syncthing e un gruppo omonimo.
Syncthing: sincronizzazione tra Windows e FreeBSD
Ora bisogna impostare l’avvio automatico di Syncthing come si fa con per tutti i programmi su FreeBSD ovvero editare il file /etc/rc.conf. Senza utilizzare un programma di editing come Nano o Vi, quindi editare direttamente il file possiamo utilizzare questo comando:
Adesso, possiamo avviare il servizio Syncthing
Configurazione di Syncthing per la sincronizzazione tra Windows e FrreBSD
Il file di configurazione di Syncthing è un file XML e si trova in questo percorso: /usr/local/etc/syncthing/config.xml
Possiamo editare questo file direttamente dall’interfaccia testuale o possiamo semplificarci le cose utilizzando l’interfaccia web tramite un browser, come abbiamo fatto su Windows nell’articolo Sincronizzazione file e cartelle con Syncthing. Il problema è che non abbiamo un browser su FreeBSD a linea di comando.
Quindi possiamo optare per utilizzare un computer connesso alla rete con Windows utilizzando Edge, Chrome o quello che vuoi. Se provi nell’immediatezza utilizzando l’IP del computer con FreeBSD :8384 vedrai subito che non riesci a raggiungere il computer con FreeBSD tramite il browser. Bisogna fare un po’ di cambiamenti al file /usr/local/etc/syncthing/config.xml.
Io utilizzo Nano per editare il file, tu se vuoi puoi anche usare Vi che è già presente su FreeBSD:
Scendi giù nel fil config.xml fino a trovare questa direttiva:
Ora vedrai che riuscirai a raggiungere l’interfaccia di Syncthing del computer con FreeBSD: https://indirizzoipfreebsd:8344
Syncthing: sincronizzazione tra Windows e FreeBSD
Non abbiamo finito, ora bisogna creare una cartella, sul computer con FreeBSD che sarà quella dove verranno sincronizzati i file dal computer con Windows. Ammettiamo come esempio che la cartella sarà /sync
Ora dobbiamo rendere questa cartella di proprietà di Syncthing:
Poi dare i permessi di lettura e scrittura alla cartella /sync:
condividere una cartella su FreeBSD è simile ma non uguale a Linux. Oggi conosciamo per lo più Linux come alternativa a Windows ma ben prima dell’esistenza di Linux, anzi a dire la verità il primo sistema operativo della storia è stato Unix. Unix viene sviluppato già a fine anni ’60. FreeBSD è una variante di Unix nota per la sua stabilità e prestazioni elevate, caratteristiche richieste in particolare per ambienti server. Tanto per dire, il tanto osannato Mac OS (Darwin), il sistema operativo dei computer di Apple, ha molte cose in comune con FreeBSD se non che derivano dallo stesso progetto BSD (Berkeley Software Distribution). Insomma FreeBSD non è la solita distribuzione di Linux, anzi non è nemmeno un sistema operativo paragonabile a Linux benché condividano molte cose.
Al contrario Linux ci tiene tantissimo a far sapere che non è Unix. FreeBSD è un sistema operativo derivato da Unix, sicuramente meno conosciuto rispetto a Linux ma altamente stabile e performante.
Quindi, in questo articolo vi mostro come configurare una condivisione per poter condividere una cartella su FreeBSD che, ripeto, benchè si assomiglino, Unix non è Linux e qualcosina è differente.
Prerequisiti
Un’installazione di FreeBSD su un computer o una macchina virtuale
Condividere cartella su FreeBSD
Premessa
Su FreeBSD non è installato il programma sudo (Super User do), ovvero quel programma che con il comando “sudo” vi permette di avere avviare programmi o modificare configurazioni con un utente diverso da “root”. Come invece è installato di default nelle distribuzioni Linux. Quindi se provate a fare le procedure con un utente che non sia “root” e tentiate di farle con il comando “sudo” semplicemente vi verrà indicato che tale comando non è stato trovato. Pertanto o installate il programma sudo o utilizzate l’utente root.
Aggiornamento FreeBSD e software installati prima di condividere una cartella
Per prima cosa, come si fa in ogni buona procedura si cercano eventuali aggiornamenti del sistema operativo e dei software già installati in esso:
Installazione e configurazione di Samba
Cerca le ultime versioni del pacchetto d’installazione di samba
Condividere cartella su FreeBSD
Sì hai visto bene, per collegarmi al server con FreeBSD utilizzo il Prompt dei Comandi di Windows.
A parte questo come puoi vedere l’ultimo pacchetto di Samba disponibile è 423, almeno al momento.
Allora andiamo a installare Samba423:
Ora, almeno per quanto mi riguarda, installerò il programma nano per editare i file. Su FreeBSD è già installato di default “vi” per editare i file. Trovo nano più pratico. Quindi:
Quindi, bisogna aggiungere la direttiva samba_server_enable=”YES” al file /etc/rc.conf che permette anche l’avvio automatico del server Samba4. Si può aggiungere la direttiva manualmente al file /etc/rc.conf oppure semplicemente usare questo comando:
Ancora non possiamo avviare il server Samba perchè bisogna creare il file /usr/local/etc/smb4.conf. Già l’installazione di Samba non crea questo file automaticamente. Quindi:
Bene, ora che abbiamo creato il file /usr/local/etc/smb4.conf possiamo avviare il server Samba anche se il file touch /usr/local/etc/smb4.conf è vuoto.
Adesso bisogna creare la cartella che andrà condivisa, nel mio caso la cartella la chiamerò “condivisa” e la creerò sulla directory principale ( / ), pertanto:
Quindi, bisognerà scrivere le giuste direttive all’interno del file /usr/local/etc/smb4.conf per poter condividere una cartella su FreeBSD.
Modifica del file smb4.conf per permettere l’accesso e la modifica a una condividere cartella su FreeBSD a tutti
Come ho detto preferisco il programma nano per modificare i file piuttosto che vi, allora:
Ecco cosa scriveremo, ovvero le direttive che impartire a Samba per condividere una cartella su FreeBSD, in questo caso, accessibile e modificabile da qualsiasi computer e da chiunque.
Togli le righe con i commenti cioè quelle che iniziano per #. Sono solo per descrivere le direttive meno chiare.
[global]
unix charset = UTF-8
workgroup = WORKGROUP
server string = FreeBSD
# intervallo di indirizzi IP di rete privati a cui consentirai l'accesso
interfaces = 127.0.0.0/8 10.0.0.0/24
bind interfaces only = yes
map to guest = bad user
# chiama la condivisione come vuoi, in questo esempio "Doc"
[Doc]
# specifica la directory da condividere
path = /condivisa
# permetti la scrittura
writable = yes
# permetti l'accesso all'utente "ospite" (nobody)
guest ok = yes
# viene visualizzato tutto come utente ospite
guest only = yes
# imposta i permessi [777] quando viene creato un file all'interno della
# cartella condivisa
force create mode = 777
# imposta i permessi [777] quando viene creato una cartella all'interno della
# cartella condivisa
force directory mode = 777
La cartella è già accessibile ma se vogliamo crearci qualcosa dentro bisogna assegnare alla cartella la giusta proprietà
Modifica del file smb4.conf per permettere l’accesso e la modifica a cartella da condividere su FreeBSD solo a determinati utenti
Premessa
Come su Linux, anche su FreeBSD per accedere alla condivisione tramite un determinato utente, bisogna creare un utente specifico per Samba. Ovvero se tu hai creato un utente per il sistema operativo, dovrai creare lo stesso utente per Samba. Viceversa se non hai creato lo stesso nome utente per il sistema operativo non potrai creare un utente Samba con quel nome. Insomma prima bisogna creare un utente per il sistema operativo e poi un utente per Samba con lo stesso nome. Quindi nel caso il nome dell’utente sia fabio vediamo come procedere
Per il sistema operativo (FreeBSD):
Per Samba server:
Ed adesso vediamo il file che ci interessa. Togli le righe con i commenti cioè quelle che iniziano per #. Sono solo per descrivere le direttive meno chiare.
[global]
unix charset = UTF-8
workgroup = WORKGROUP
server string = FreeBSD
# intervallo di indirizzi IP di rete privati a cui consentirai l'accesso
interfaces = 127.0.0.0/8 10.0.0.0/24
bind interfaces only = yes
map to guest = bad user
# chiama la condivisione come vuoi, in questo esempio "Doc"
[Doc]
# richiede l'autenticazione
security = user
# specifica la directory da condividere
path = /condivisa
# permette la scrittura
writable = yes
# non permette utenti ospiti (nobody)
guest ok = no
# permette solo [nomegruppo]
valid users = @nomegruppo
# imposta il gruppo per i nuovi file o cartelle [nomegruppo]
force group = nomegruppo
# imposta i permessi [770] quando viene creato un file all'interno della
# cartella condivisa
force create mode = 770
# imposta i permessi [770] quando viene creato una cartella all'interno della
# cartella condivisa
force directory mode = 770
# ereditare i permessi dalla cartella padre
inherit permissions = yes
Gestisci Consenso Cookie
Utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Lo facciamo per migliorare l'esperienza di navigazione e per mostrare annunci (non) personalizzati. Il consenso a queste tecnologie ci consentirà di elaborare dati quali il comportamento di navigazione o gli ID univoci su questo sito. Il mancato consenso o la revoca del consenso possono influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.