File server con debian

Questo post lo potete trovare ance sul mio più aggiornato sito: www.soulplace.org

Tra una bevuta e l’altra in questi giorni di quasi vacanza, ho avuto la possibilità di dilettarmi nel mettere su un file server scp per l’azienda di mio padre. Le cose, più o meno, sono andate così:

  •  Hardware: HP omnibook 6000 (se lo cercate, non credo sia più reperibile): pentium 3 800mhz, 128MByte ram, 6 GByte hard disk, lettore cd 24x, 1 usb 1.0, una bestia praticamente :-);
  • Software S.O.: Debian 4.0rev2 (cd netinst, nel quale poi ho installato solo i pacchetti del tipo “server”), scp, scponly, 2 script per il backup giornaliero dei dati.

Personalmente ho ritenuto opportuno dare alla scheda di rete un indirizzo ip statico per facilitare la connessione degli altri pc. Non avendo la possibilità di inserire un secondo hd, o uno esterno, ho deciso di formattare l’hd esistente in 2 partizioni da 3 GByte: una per il S.O. e programmi e una per i backup. E’ stata una scelta un po “stronza” me ne rendo conto, ma bisogna arrangiarsi!Dopo la facile installazione di debian (non mi ha occupato per più di un’oretta) senza alcun tipo di sistema grafico, ho installato tramite apt-get SCP.Wikipedia:

Secure Copy (copia sicura) o SCP è un mezzo per trasferire in modo sicuro un file del computer tra un computer locale ed un host remoto o tra due host remoti, usando il protocolloSecure Shell (SSH). 

apt-get install scp scponly

Usando questo tipo di comunicazione si riduce al minimo la possibiltà di accessi non consentiti al server o di intercettazione del contenuto della comunicazione, in quanto avvengono tutte in maniera criptata. Vi consiglio di eliminare l’accesso all’utente root tramite ssh; per fare questo dovrete editare il file /etc/ssh/ssh_config impostando la variabile:

PermitRootLogin no

per evitare di concedere l’acceso root a chi conosce la password. Ricordatevi di accedere come root per installare (su e poi password)!! Potete ora sbizzarrirvi come più vi piace con i file di configurazione di scp per controllare accessi, se preferite accedere con password o chiave ect…Sarà anche possibile accedere al server dall’esterno, semplicemente configurando il proprio router. Per farlo dovete forwardare la porta ssh dal pannello di controllo del vostro router (eventualmente anche la porta ftp può servire). Scriviamo ora 2 script in sh da poter richiamare a nostro piacimento per fare il backup dei file che ci interessano. Nel mio caso dovevo fare il backup di una cartella in locale e una che risiede su un pc remoto. Di seguito il contenuto dei file backup.sh, per il backup dei file “locali” e backup_ext.sh per il backup dei file “remoti”:

backup.sh

#!/bin/bash

BACKUPDIR="/path/completa/cartella/backup/$(date +%Y-%m-%d)"

cp -rf -a /cartella/contenente/dati/backup "$BACKUPDIR"

tar -cvf $BACKUPDIR $BACKUPDIR

rm -rf $BACKUPDIR

per la cartella remota basta aggiungere all’inizio il comando per montare la cartella remota (nel mio caso con samba). Cercate la cartella condivisa con il comando smbtree e inseritela nello script backup_ext.sh:

backup_ext.sh

smbmount //ipmacchinaremota/nomecartella/ /mount/point/ -o username=username,password=password

BACKUPDIR="/path/completa/cartella/backup/$(date +%Y-%m-%d)"

cp -rf -a /mount/point/ "$BACKUPDIR"

tar -cvf $BACKUPDIR $BACKUPDIR

rm -rf $BACKUPDIR

n.b. a “ipmacchinaremota” si può sostitire anche l’hostname.

Nel caso in cui dovesse sorgere la necessita di eseguire i backup a intervalli temporali definiti, sarà necessario editare la tabella /etc/crontab, in modo da inserire il momeno in cui eseguire gli script, nel mio caso il backup deve essere eseguito ogni sera alle 20:30:

30 20 *** root /home/utente/backup.sh > /home/utente/backup.log

30 20 *** root /home/utente/backup_ext.sh > /home/utente/backup_ext.log

L’output di tar verrà registrato in backup.log e backup_ext.log (come ben sapete si possono aumentare i dettagli dell’output con l’opzione -v, oppure -vv ai comandi dei quali si cerca l’output).

Bene, sembra strano ma abbiamo finito! basta collegarsi da un qualsiasi client che supporti l’scp (per windows winscp, da linux con i comandi scp, ssh o con i programmi openssh, midnight commander ect.., per mac osx  c’è rbroswer o cyberduck). Accederemo direttamente nella cartella home dell’utente con la quale effettuiamo l’accesso. 

Advertisements

Tag: , , , , , ,

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

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

Foto Twitter

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

Foto di Facebook

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

Google+ photo

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

Connessione a %s...


%d blogger hanno fatto clic su Mi Piace per questo: