Allestire un "file server" con Ubuntu Server e gestirlo mediante OpenSSH

Ubuntu Server è un'ottima piattaforma che permette di allestire un server in grado di effettuare le operazioni più disparate in pochi minuti di tempo.

Ubuntu Server è un’ottima piattaforma che permette di allestire un server in grado di effettuare le operazioni più disparate in pochi minuti di tempo. L’edizione Server di Ubuntu può essere utilizzata per creare un server web, un server database, un file server, un nameserver e così via.

Vediamo com’è possibile installarlo e configurarlo per creare un file server con Samba. Per effettuare tutti i test del caso ed assumere familiarità con Ubuntu Server, abbiamo deciso di installare la distribuzione all’interno di una macchina virtuale VMware Player, in ambiente Windows.

Dopo aver installato VMware Player (scaricabile gratuitamente da questa pagina previa registrazione; su IlSoftware.it abbiamo pubblicato numerosi articoli dedicati a questo software per la virtualizzazione), è necessario creare una nuova macchina virtuale cliccando sul link Create a new virtual machine.

Alla comparsa della procedura passo-passo di VMware Player che guida l’utente nella fase di preparazione della virtual machine, si dovrà dapprima selezionare l’opzione I will install the operating system later e cliccare su Next:

Dalla schermata successiva, si dovrà scegliere Linux come sistema operativo ed Ubuntu od Ubuntu 64-bit nel menù a tendina Version.

Frattanto, dopo aver cliccato su Next, è possibile scaricare la ISO di Ubuntu Server nella versione a 32 o 64 bit dal sito web ufficiale (nel nostro caso, abbiamo provveduto ad avviare il download della versione x64).

In VMware Player si dovrà poi assegnare un nome alla macchina virtuale in corso di generazione e specificare la cartella che dovrà ospitare i file necessari al suo funzionamento:

Il passo successivo consiste nell’indicare la dimensione massima dell’hard disk virtuale (suggeriamo di lasciare attivata l’opzione Store virtual disk as a single file).
Cliccando su Finish, si tornerà alla finestra principale di VMware Player. Da qui, dopo aver selezionato da macchina virtuale appena prodotta, si dovrà fare clic sul link Edit virtual machine settings.

Dal momento che l’installazione del sistema operativo dovrà essere avviata dal file ISO appena scaricato (ci si accerti del completamento del download), è necessario cliccare sulla voce CD/DVD (IDE), attivare Use ISO image file, fare clic sul pulsante Browse quindi individuare il file ISO di Ubuntu Server (nel nostro caso, ubuntu-10.10-server-amd64.iso):

Per impostazione predefinita, VMware Player regola l’interfaccia di rete delle macchine virtuali in modalità NAT. Si tratta di un’impostazione sicuramente adeguata se l’unica operazione che si vuole porre in essere è l’accesso ad Internet dal sistema virtuale. Per fare in modo, però, che la virtual machine diventi “parte integrante” della rete locale (LAN) e sia quindi accessibile da qualunque workstation ad essa collegata, è indispensabile impostare la scheda di rete in modalità bridged.
Attivando la modalità bridged, la macchina virtuale VMware apparirà agli altri sistemi della LAN così come se fosse un tradizionale personal computer “fisico”, connesso alla rete locale mediante un cavo ethernet.
Per abilitare la modalità bridged, è necessario cliccare sulla voce Network Adapter quindi attivare l’opzione Bridged: connected directly to the physical network sulla destra.

Cliccando su OK quindi sul link Play virtual machine, si potrà avviare la macchina virtuale e l’installazione di Ubuntu Server.

Dapprima si dovrà scegliere la lingua preferita quindi selezionare la voce Installa Ubuntu Server.

L’installazione, sebbene sia presentata in modalità testuale, è comunque piuttosto semplice da portare a termine. Per non tediarvi senza motivo, citiamo soltanto i passi sui quali è necessario soffermarsi qualche istante.

Dopo la scelta della nazione di residenza (Italia) si passerà al rilevamento del layout della tastiera (qui si può scegliere No ed indicare Italia – Italia se si sta utilizzando una normale tastiera italiana).

Successivamente, si dovrà definire un nome per la macchina virtuale (noi abbiamo scelto ubuntuserver):

Alla comparsa della schermata per il partizionamento dei dischi fissi, suggeriamo di selezionare l’opzione Guidato – usa l’intero disco e premere il tasto Invio. In questo modo, previa conferma, sarà utilizzato l’intero quantatitivo di spazio a disposizione sul disco fisso virtuale VMware Player.

Più avanti, dopo alcuni minuti d’attesa, si dovrà indicare un account da usare al posto di “root” per le operazioni comuni sul sistemi operativo ed impostare la relativa password.

La procedura d’installazione di Ubuntu Server, quindi, richiederà se si fosse interessati a crittografare il contenuto delle directory personali: è possibile operare la scelta che si ritiene più opportuna.

Alla comparsa della schermata Informazioni del proxy HTTP è possibile premere Invio per conmunicare all’installer che non si desidera usare alcun proxy server per il collegamento ad Internet.

Gli aggiornamenti di sicurezza, quindi, possono essere gestiti in maniera autonoma da Ubuntu Server provvedendone all’installazione. Selezionando Nessun aggiornamento automatico si potrà provvedere ad installarli, manualmente, ad installazione ultimata.

Usando i tasti freccia e la barra spaziatrice, si possono indicare i componenti che si desidera vengano preinstallati:

Non appena verrà esposto il messaggio “Installare il boot loader GRUB nel master boot record” si dovrà rispondere affermativamente.

Ad installazione conclusa, la macchina virtuale sarà riavviata (basterà premere Invio sulla voce Continua).

Per accedere alla riga di comando di Ubuntu Server si dovranno digitare le credenziali d’accesso specificate durante l’installazione:

Per aggiornare tutti i pacchetti software di Ubuntu Server si potranno usare, in sequenza, i due comandi seguenti:

sudo apt-get update
sudo apt-get upgrade

Connessione al server Ubuntu mediante il protocollo SSH

Digitando ifconfig in corrispondenza della riga di comando di Ubuntu Server, si otterrà l’indirizzo IP assegnato alla macchina virtuale. Nel caso in cui sul router della propria rete locale sia attivato il protocollo DHCP, alla virtual machine verrà attribuito un IP secondo la policy stabilita. Nel nostro caso, alla macchina virtuale VMware di Ubuntu Server è stato attribuito l’IP 192.168.1.50:

Si noti anche l’indirizzo IPv6 associato alla macchina Ubuntu Server.

Iniziamo con la configurazione di OpenSSH, un pacchetto che consente di avviare sessioni di comunicazione utilizzando la crittografia ed, in particolare, il protocollo SSH.
Durante l’installazione di Ubuntu Server, si dovrebbe aver optato per l’installazione di OpenSSH. Per verificare che il pacchetto sia effettivamente installato, è possibile invocare il comando seguente:

apt-cache policy openssh-server

Se Ubuntu risponderà indicando il numero di versione accanto alla voce Installato, significa che OpenSSH risulta già presente sul sistema. Qualora, invece, risultasse assente, si potrà richiederne manualmente l’installazione digitando sudo apt-get install openssh-server.

Per accedere al server utilizzando SSH da una qualunque workstation Windows, è possibile ricorrere a PuTTY. Prelevabile cliccando qui è un’applicazione gratuita che permette di aprire una finestra terminale per la gestione della macchina Ubuntu Server. Il programma non richiede di essere installato: è sufficiente fare doppio clic sul suo eseguibile per avviarlo:

In corrispondenza della casella Host name or IP address dovrà essere indicato il nome della macchina Ubuntu Server (od il suo indirizzo IP) alla quale ci si vuole collegare.
La prima volta che ci si collegherà alla macchina virtuale (indicando, nel nostro caso o ubuntuserver o l’IP 192.168.1.50), PuTTY mostrerà un avviso di sicurezza simile al seguente:

Per continuare, è sufficiente fare clic sul pulsante senza attendere troppo tempo.
Effettuato il collegamento, si dovrà digitare le credenziali d’accesso definite durante la fase d’installazione di Ubuntu Server (nome utente e password):

Grazie al server OpenSSH, è così possibile gestire, a questo punto, la macchina virtuale Ubuntu Server così come se si utilizzasse la sua riga di comando. Inoltre, effettuando opportunamente il forwarding delle porte sul router, è possibile rendere amministrabile la macchina virtuale Ubuntu Server anche da Internet.

Installazione di Xming: per eseguire in remoto applicazioni X Window dai sistemi operativi Microsoft

Tutti i sistemi Unix-like (ad esempio le varie distribuzioni Linux) utilizzano un gestore grafico, conosciuto come X Window o, più semplicemente, come “X”, che mette a disposizione l’ambiente ed i componenti basilari affinché l’utente possa interagire con il sistema operativo ricorrendo all’utilizzo del mouse (si pensi, per esempio, alla comune operazione di spostamento delle finestre…). E’ poi il desktop environment (od “ambiente desktop”) scelto dall’utente a farsi carico della gestione dell’interfaccia grafica proposta all’utente e dello stile grafico utilizzato per presentare i vari elementi visuali (esempi di noti desktop environment sono GNOME, KDE, Xfce, LXDE,…).

Xming è un server X Window concepito per i sistemi operativi Windows che consente di interfacciarsi con le applicazioni Linux che funzionano utilizzando il gestore grafico X. Dopo aver installato Xming, nel nostro caso, su un sistema Windows 7, è possibile provare ad interfacciarsi con i software installati sulla macchina virtuale Ubuntu Server.

Per procedere, è necessario scaricare i seguenti due file ed installarli, in Windows, all’interno della medesima cartella:

Qualora i precedenti link non dovessero funzionare, suggeriamo di fare riferimento, per il download delle versioni più aggiornate, rispettivamente a questo link ed a questo indirizzo.

Per l’installazione di Xming è possibile accettare le impostazioni di default cliccando ripetutamente sul pulsante Avanti. Alla comparsa dell’ultima schermata, suggeriamo di eliminare il segno di spunta dalla casella Launch application e procedere con l’installazione di Xming fonts.

Il passo successivo consiste nel chiudere PuTTY, riavviarlo, quindi digitare l’IP od il nome della macchina virtuale Ubuntu Server nell’apposito campo quindi nello specificare, ad esempio, sessione in Saved sessions:

Dopo aver cliccato sulla voce SSH, nella colonna di sinistra di PuTTY, si dovrà evidenziare X11 quindi spuntare la casella Enable X11 forwarding e digitare localhost:0 nel campo X display location:

A questo punto si potrà cliccare sulla voce Session (la prima in alto) quindi sul pulsante Save in modo tale da memorizzare il profilo appena impostato.

D’ora in poi, per collegarci alla macchina virtuale Ubuntu Server (sempre che questa sia stata correttamente avviata da VMware Player), sarà sufficiente fare doppio clic sul termine sessione.

Dalla riga di comando SSH, digitiamo quanto segue:

sudo apt-get install x11-apps

Così facendo verranno immediatamente installate alcune applicazioni X. Al termine della procedura d’installazione, che richiederà la conferma per il caricamento dei vari pacchetti software, si potrà avviare un’applicazione X Window semplicemente digitando, per esempio, xclock &.

Com’è possibile notare, l’orologio è stato aperto in una finestra Windows. Qualora, digitando il comando xclock &, si ottenesse solo il messaggio d’errore Error: can't open display: localhost: 10.0, significa che Xming non è in esecuzione. Per risolvere il problema è sufficiente eseguire Xming facendo riferimento al menù programmi di Windows e ripetere il comando xclock & (non dimenticate il carattere & altrimenti, per avere la possibilità di inserire ulteriori comandi nella finestra di Ubuntu Server, si dovrà necessariamente chiudere l’orologio).

Preparazione del file server Samba e collegamento da Windows

Samba è un progetto che si propone come implementazione libera dei protocolli di rete Micrsoft utilizzati in Windows. E’ un po´ il trait d’union tra il mondo Linux e le macchine Windows dal momento che proprio grazie a Samba è possibile condividere file e stampanti con i sistemi operativi targati Microsoft.

Durante l’installazione di Ubuntu Server si dovrebbe aver già optato per l’installazione automatica di Samba. I seguenti due comandi, al solito, permettono di controllare se i pacchetti necessari siano o meno installati:
apt-cache policy samba
apt-cache policy smbfs

Come spiegato in precedenza nel caso di OpenSSH, nel caso in cui – accanto alla dizione Installato – venisse riportato un numero di versione, significa che i due pacchetti sono già presenti.

Diversamente, per installarli manualmente si dovrà digitare il comando seguente:

sudo apt-get install samba smbfs

A questo punto, è possibile effettuare una copia di backup del file di configurazione di Samba, installare l’editor gedit, quindi provvedere a modicarne il contenuto:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo apt-get install gedit
sudo gedit /etc/samba/smb.conf

Grazie all’utilizzo di Xming, l’editor di testo gedit (software libero compatibile con la codifica di caratteri UTF-8 e realizzato per l’ambiente desktop GNOME) apparirà in una normale finestra Windows.

Nella sezione Authentication del file di configurazione si dovrà inserire quanto segue:
security = user
username map = /etc/samba/smbusers

Così facendo si indicherà a Samba di utilizzare il file smbusers per recuperare la lista degli utenti.

Nella sezione Share definitions, suggeriamo di indicare quanto segue:
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0775
directory mask = 0775
valid users = %S

Si tratta di una serie di preferenze che permettono di rendere modificabili il contenuto delle cartelle “home” e di assegnare, in modo predefinito, i diritti in lettura ed in scrittura (0775) ai file ed alle directory successivamente creati.

Dopo aver salvato il file (pulsante Save), si potrà iniziare ad aggiungere gli utenti autorizzati a collegarsi con il file server.

Il comando sudo smbpasswd -a giovanni permetterà di aggiungere a Samba l’utente “giovanni” che dovrà essere poi specificato nel file smbusers. Se l’utente “giovanni” non esiste, verrà restituito il messaggio d’errore Failed to add entry for user….
In questo caso, per creare l’utente, si dovrà digitare sudo adduser giovanni quindi invocare nuovamente il comando sudo smbpasswd -a giovanni.

Con il comando sudo gedit /etc/samba/smbusers si potranno indicare gli utenti autorizzati ad accedere al file server (la sintassi da usare è nomeutente="nomeutente":

A questo punto, dal sistema Windows, selezionando Start, Esegui e digitando \\NOMESERVERLINUX\giovanni si potrà accedere alla cartella condivisa:

Ovviamente, NOMESERVERLINUX deve essere sostituito con l’indirizzo IP o con il nome assegnato alla macchina virtuale Ubuntu Server.

Ti consigliamo anche

Link copiato negli appunti