Archivio

Posts Tagged ‘linux’

NFS: condivisione files

3 Ottobre 2019 Commenti chiusi

Voglio condividere files da un server (Debian Buster) verso un client (Xubuntu 16.04).
Gli indirizzi IP dei dispositivi sono:

server: ip -> 192.168.1.2
client: ip -> 192.168.1.120

Configurazione lato SERVER

Aprire una finestra terminale ed installare il nesessario:

sudo apt-get install nfs-kernel-server

I comandi per controllare il demone nfs-kernel-server sono:

/etc/init.d/nfs-kernel-server start|stop|restart|status

Nota:

Il server dovrebbe avere un IP statico, per evitare che il DHCP assegni ogni volta un ip differente,
e si debba sempre riconfigurare il client.

Le directories che devono essere condivise, vanno inserite nel file etc/exports.
Aprire il suddetto file:

sudo nano /etc/exports

All’interno di questo file, va inserita una riga, per ogni directory che si vuole condividere,
con la seguente sintassi:

/dir_server_da_condividere IP_client(opzioni,)

dove:

/dir_server_da_condividere: la directory sul server, che dobbiamo condividere;
Ip_client: l’indirizzo IP del client (nel nostro scenario 192.168.1.120)
(opzioni,): sono le opzioni di condivisione che riguardano il client

tali opzioni si suddividono in:

ro: la directory condivisa è in sola lettura, quindi il client non può scrivere.
Questa è l’opzione di default
rw: il client può leggere e scrivere nella directory condivisa
no_root_squash: di default ogni azione fatta dall’utente root sul client, viene trattata come fosse l’utente nobody sul server.
Selezionare questa opzione invece, dà al root del client, gli stessi diritti del root sul server. Questo implica tutti i problemi di sicurezza del caso!
no_subtree_check: disabilita la routine subtree_check, che verifica se un file richiesto dal client, è presente nella parte di volume esportata. In caso di grandi porzioni di volume esportate, disabilitare la routine con questa opzione, velocizza molto il trasferimento dei file.
sync: di default per prevenire la perdita di dati in caso il server si riavvii, exportfs assume un comportamento asincrono. Questa opzione invece prevede un comportamento sincrono, ovvero forza la scrittura dei dati appena questi arrivano al server.

nel nostro caso volendo condividere la directory /home/banco/Immagini/backupfoto del server, avremo:

/home/banco/Immagini/backupfoto 192.168.1.120(rw,no_root_squash)

Per questo caso, concediamo al client i privilegi di root come fossimo sul server, con gli annessi rischi
nel caso volessimo estendere l’accesso a tutti i client di rete da 120 a 200, ma solo in lettura:

/home/banco/Immagini/backupfoto 192.168.1.120/200(ro)

Una volta configurato il file, esporare le condivisioni con il comando:

sudo exportfs -a

e riavviare il servizio nfs-kernel-server

sudo systemctl restart nfs-kernel-server

Questi due comandi sono da eseguire dopo ogni modifica del file etc/exports.

AVANZATE

Per definire gli accessi al server, in maniera più dettagliata, si possono configurare i file
/etc/host.deny ed /etc/host.allow.
Il primo setta i divieti, il secondo i permessi.
Per prima cosa infatti si setta sempre il deny, poi l’allow.

Per prima cosa quindi vietare l’accesso a tutti i client editando il file /etc/host.deny con il comando:

sudo nano /etc/hosts.deny

ed aggiungendo la stringa:

portmap mountd nfsd statd rquotad : ALL

In sostanza vietiamo a tutti i client i seguenti servizi:
portmap: è il demone di assegnazione della porta dinamica per servizi come NFS.
fmountd: il demone che implementa il lato server del protocollo NFS.
nfsd: è lo speciale filesystem che dà accesso ad un server NFS.
statd: è il demone che gestisce il file lock, che non sono persistenti nel
file system e pertanto vengono persi in caso di reboot.
rquotad: è un rpc server che ritorna la quota-disco assegnata allo user.

Ora che abbiamo vietato tutto, assegnamo i permessi al client desiderato, editando il file /etc/host.allow:

sudo nano /etc/hosts.allow

inserendo la stringa

portmap mountd nfsd statd rquotad : 192.168.1.2 192.168.1.120

nota:

Va inserito nel file anche l’indirizzo IP del server.
Terminati i settaggi è necessario riavviare il servizio NFS, con il comando:

sudo systemctl restart nfs-kernel-server

Ora passiamo a configurare il lato client.

Configurazione lato CLIENT

Installare il pacchetto necessario, in questo caso nfs-common:

sudo apt-get install nfs-common

Come in precedenza configurare i file hosts.deny e hosts.allow.

sudo nano /etc/hosts.deny

inserendo il divieto universale:

portmap : ALL

poi sui permessi:

sudo nano /etc/hosts.allow

aggiungendo l’IP del server con la sintassi:

portmap : 192.168.1.2

Ora creare una directory per il punto di mount della condivisione

sudo mkdir /mnt/nfsshared/backup_foto

e montare con il comando:

sudo mount -t nfs 192.168.1.2:/home/banco/Immagini/backupfoto /mnt/nfsshared/backup_foto

se è tutto ok, possiamo inserire il montaggio in /etc/fstab:

sudo nano /etc/fstab

inserendo

192.168.1.2:/home/banco/Immagini/backupfoto  /mnt/nfsshared/backup_foto nfs4 _netdev,bg,nofail,rw,relatime,rsize=65536,wsize=65536 0 0

dove le opzioni sono:
_netdev: il filesystem risiede su un dispositivo di rete quindi evita che il sistema (client) tenti di montare questo filesystem quando ancora la rete non è attiva sul sistema stesso.
bg: se il tentativo di mount fallisce, un child in background continuerà a tentare di montare l’export.
nofail: Il boot continuerà anche se questo mount fallirà (es. il server è spento).
rw: sono i diritti di lettura/scrittura.
relatime: aggiorna i tempi di accesso agli “inode” e può migliorare le prestazioni.
rsize, wsize: indica la quantità di bytes per parte di dato. Migliora la prestazione di NFS.

Per smontare la condivisione

sudo umount /mnt/nfsshared/backup_foto
Categorie:Linux, Ubuntu Tag: , ,

Ubuntu minimal: errori .Xauthority parse_vt_settings

8 Novembre 2017 Commenti chiusi

Installare ubuntu minimal come da guida

Al riavvio Loggarsi con il proprio utente

se siamo su virtualbox procedere con l’installazione dei pacchetti
virtualbox-guest-utils e virtualbox-guest-dkms:

sudo apt-get install virtualbox-guest-utils virtualbox-guest-dkms

e creare il file virtualbox.conf con i moduli da caricare all’avvio…

sudo nano /etc/modules-load.d/virtualbox.conf

…inserendo all’interno del file i moduli:

vboxguest
vboxsf
vboxvideo

ora installare xfce4 e lightdm:

sudo apt-get install xfce4 lightdm

Al termine dell’installazione, editare il file lightdm.conf:

sudo nano /etc/lightdm/lightdm.conf

inserendo/modificando le seguenti coppie chiave=valore:

[SeatDefaults]
allow-guest=false
autologin-user=<username>
user-session=xfce

La prima opzione non consente accesso ad utente ospite;
la seconda permette l’autologin (cancellare la coppia in caso si voglia accedere ogni volta inserendo le credenziali);
la terza non ha bisogno di commenti.

per le configurazioni di lightdm seguire
questa guida.

Riavviare:

sudo reboot

Se al riavvio lightdm non riesce ad avviare la sessione con
errore “Avvio sessione non riuscito”, potrebbero esserci più
cause.

Permessi file .Xauthority

il file .Xauthority risiede nella home directory di ogni user e memorizza le credenziali degli stessi users, in cookies utilizzati da xauth per l’identificazione delle sessioni di X. Quando viene avviata una sessione X il cookie viene usato per autenticare le connessioni ad un determinato display.
Se non si hanno i diritti di accesso a tale file, non è possibile avviare la sessione.

Assicurarsi quindi di avere i diritti sul file .Xauthority

ls -l .Xauthority

in caso i diritti fossero solo per root, modificarli riassegnadoli ad ‘username’:

sudo chown <username>:<username> -R /home/<username>/.Xauthority

E’ possibile anche eliminare lo stesso file, inquanto verrà ricreato al riavvio.

Riavviare. Se continua a presentarsi l’impossibilità del login:

Consultare il file log

E’ bene consultare il file /home/username/.local/share/xorg/Xorg.1.log
in modo da risalire agli errori. Solitamente vengono evidenziati anche quando si tenta di avviare la sessione da terminale con startxfce4, ma nel nostro caso abbiamo installato lightdm e potremmo essere bloccati nel DM con il messaggio “Avvio Sessione NON riuscito”.

Con la combinazione CTRL+ALT+F2 entriamo nella console virtuale ed effettuaiamo il login con il nostro utente.
Blocchiamo prima il servizio lightdm:

sudo service lightdm stop

visualizziamo il log suddetto:

cat /home/<username>/.local/share/xorg/Xorg.1.log

(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)

Alla presenza di questo errore dovrebbe essere risolutivo aggiungere al gruppo tty.
/dev/tty0 rappresenta il display corrente, se quindi il nostro utente non ha i diritti su questo dispositivo, non è possibile avviare la sessione.

sudo usermod -a -G tty <username>

(EE) parse_vt_settings: Cannot open /dev/tty0 (No such file or directory)

Altro errore ricorrente.
Il pacchetto xserver-xorg-legacy fornisce un wrapper per il server X, quando si hanno driver obsoleti e kernel diversi. Se non necessario, come nel mio caso, è bene disinstallarlo:

sudo apt-get remove xserver-xorg-legacy

Ovviamente il file Xwrapper deve rimanere quindi assicuriamoci che esista ed abbia la giusta configurazione

sudo nano /etc/X11/Xwrapper.config

le coppie nome=valore sono:

allowed-users=anybody
needs-root-rights=yes

need-root-rights serve per assicurare che Xorg venga avviato con privilegi da amministratore da qualsiasi utente (il nostro caso).

riavviare con

sudo reboot

Al riavvio si dovrebbe riuscire ad effettuare il login.

Categorie:Linux, Ubuntu Tag: ,

Backup MBR con LiveCD e dd

16 Ottobre 2009 Commenti chiusi

Prima di installare una distribuzione Linux su un PC con già XP installato è buona cosa fare un backup del MBR, utile nel caso si debba ripristinare lo stesso in assenza del CD di XP, tramite la console di ripristino (fixboot e fixmbr).

Avviare da CD con la LiveCD di Karmic (o di qualsiasi altra distro live)
Aprire un terminale e montare la partizione Dati presente sull’HD (nel caso si abbia
una partizione Dati separata dall’OS di XP)

verificare il nome del device corrispondente alla partizione dati di windows

sudo fdisk -l

creare la dir di appoggio sul quale montare la partizione di windows

sudo mkdir /media/datixp
sudo mkdir /media/datixp/mbrxp

montare la partizione

mount -t ntfs /dev/sda3 /media/datixp

Ovviamente al posto di sda3 andrà il nome della partizione, che può essere anche unica (sda1)
Eseguire il backup del MBR.

dd if=/dev/sda of=/media/datixp/mbrxp bs=512 count=1

Nota:

bs=512 indica che faremo una copia di backup, solo dei primi 512Bytes, dove risiede il MBR.

Ripristino:

dd if=/media/datixp/mbrxp of=/dev/sda bs=512 count=1

Appena finito di installare la Distro in Dual-boot, con lo stesso procedimento rifare il backup del MBR, con le nuove partizioni create.

Link utili:
dd
master boot record

Categorie:Linux Tag:

Ubuntu 7.04: Backup con TAR

11 Settembre 2007 Commenti chiusi

Aprire terminale e portarsi in radice:

cd /

dare il seguente comando:

sudo tar -cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

Per ripristinare:

sudo tar -xvpzf /backup.tgz -C /
Categorie:Linux Tag: