venerdì 6 luglio 2018

Create and Restore Raid Software Linux

Se su un server abbiamo a disposizione due dischi, il modo migliore per avere una ridondanza e quindi un backup è creare un Raid. Esistono Raid di tipo Hardware e Software.
Nel nostro caso vedremo come creare un Raid 1 software.
Raid 1 vuol dire che i dati saranno scritti su entrambi i dischi, ma lo spazio a disposizione è di un solo disco. Si consiglia di utilizzare dischi della stessa capacità, o il Raid prenderà come riferimento il disco più piccolo.

Verifica delle partizioni:
#ls -ltra /dev/sd*
brw-rw---- 1 root disk 8, 16 Apr  7 10:42 /dev/sdb
brw-rw---- 1 root disk 8, 17 Apr  7 10:42 /dev/sdb1
brw-rw---- 1 root disk 8,  0 Apr  7 10:55 /dev/sda
brw-rw---- 1 root disk 8,  1 Apr  7 10:57 /dev/sda1

Se sono dischi usati in precedenza per altri Raid, dare:
#mdadm --zero-superblock /dev/sda1
#mdadm --zero-superblock /dev/sdb1

Creazione del raid:
#mdadm --create --verbose --assume-clean --level=1 --raid-devices=2 /dev/md0 /dev/sda1 /dev/sda2

  • --verbose = aumenta la verbosità sull'output d'uscita
  • --assume-clean = evita che l’array venga ricostruito e quindi fatto il resync. Su partizioni di grandi dimensioni può metterci molto tempo. E’ da utilizzare solo per la creazione di nuovi array vuoti
  • --level = indica che tipo di Raid si utilizza, nel nostro caso è un Raid1
  • --raid-devices = indica quanti devices fanno parte del Raid
  • /dev/md0 = indica il nome del device che punterà al nuovo array
  • /dev/sda1 /dev/sdb1/ = sono le partizione che andranno a formare il nuovo array
Per visualizzare la creazione del Raid:
#cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sda1[2] sdb1[1]
      204736 blocks super 1.2 [2/2] [UU]
     
L'assegnazione del comando bitmap permette la ricostruzione del Raid più velocemente:
#mdadm --grow --bitmap=internal /dev/md0




lunedì 12 marzo 2018

Ansible

Ansible è un programma utilissimo di automazione per eseguire comandi, configurare sistemi o distribuire software su più server contemporaneamente.
A tutti sarà capitato di dover dare lo stesso comando su più server e doversi continuamente loggare e lanciare il comando manualmente; ansible risolve questo tipo di problema.

Ansible è presente nella maggiori distribuzioni, l'installazione:
#apt-get install ansible
#yum install ansible

Creare una directory nella propria /home chiamata "ansible"
$mkdir ansible
Creare un file ansible.cfg,
~/ansible$touch ansible.cfg
~/Ansible$cat ansible.cfg
[defaults]
inventory=/home/pippo/hosts
remote_user=pippo


Se si lancia ansible dal percorso dove abbiamo creato la directory,
avrà un peso maggiore il file creato .cfg, piuttosto che il .cfg che si trova sotto /etc



~/Ansible$ ansible virtualmachine*.domino.local -b -m shell -a 'ls /root'
virtualmachine indica che andremo ad agire su tutti i server che iniziano per virtualmachine, la variabile -b indica l'accesso con sudo, la variabile -m indica il modulo utilizzato, -a il comando all'interno del modulo.
Con il comando richiesto, ci verrà restituito un output con tutte le /root presenti nei server richiesti.

martedì 13 febbraio 2018

Monitorare risorse con Conky

Una delle cose più belle che offre Linux è quella di poter monitorare le nostre risorse con programmi estremamente custom.
Uno dei programmi più versatili è Conky.
Per installarlo, da root:
apt-get install conky   (Ubuntu e derivate)
yum install conky (CentOS)
A questo punto non basta far altro che creare nella propria /home un file nascosto
touch .conkyrc
A questo punto ci sono tantissimi siti che offrono soluzioni già pronte da copiare all'interno di conkyrc, una customizzata da me è scaricabile al seguente link conkyrc
Il monitor che avrete sarà:


venerdì 29 dicembre 2017

Skype per Linux

Al seguente indirizzo è disponibile l’ultima versione di Skype

download skype

Tramite console andare nella directory dove si è salvato il file.
A seconda che si sia scaricato il file .deb o .rpm
dare i comandi:
#sudo dpkg -i skypeforlinux-64.deb
#sudo rpm -i skypeforlinux-64.rpm

Visto che il corretto funzionamento dipende anche dall’ambiente grafico installato, potrebbe accadere che se si utilizza KDE alcuni pacchetti o servizi non siano installati, questo comporta che ad ogni avvio vengano richieste le credenziali e la configurazione.
Verificare che siano installati i pacchetti:
gnome-keyring e libgnome-keyring0

#dpkg -l | grep gnome-keyring
ii  gnome-keyring 3.20.1-2 amd64 GNOME keyring services (daemon and tools)
ii  libgnome-keyring-common 3.12.0-1 all GNOME keyring services library - data files
ii  libgnome-keyring0:amd64  3.12.0-1+b2 amd64 GNOME keyring services library

Se questi pacchetti non dovessero esserci, dare i comandi:
#sudo apt-get install gnome-keyring libgnome-keyring0

#sudo yum install gnome-keyring libgnome-keyring0

Cancellare file per data

Spostarsi nella directory su cui agire
Per visualizzare i file per data dare il comando:
ls -ltrh
se i file sono numerosi, dare:
ls -ltrh | more
Per cancellare i file più vecchi di una data e ora specifica:
find . -name "*.php" -not -newermt "2017-09-30 1000" -exec rm {} \;

 il comando cercherà tutti i file con estensione .php
l'opzione newermt filtra i file più recenti di una certa data
l'opzione not inverte il senso, ottenendo i file più vecchi della data impostata.
la data imposta indica: anno-mese-giorno ore minuti
l'opzione exec, esegue il comando rm

lunedì 30 ottobre 2017

Autenticazione Kerberos su server Linux



Se sui vostri server Linux è già implementata l’autenticazione LDAP, un utile tool è l’autenticazione Kerberos.

Facendo la prima login , viene rilasciato un token che permette l’autenticazione ai server senza dover inserire nuovamente la password.

Installare pacchetto krb5-user:
apt-get install krb5-user (debian/ubuntu)
yum install krb5-user (CentOS)

Modificare file krb5.conf:
# vi /etc/krb5.conf
default_realm = miodominio.local (al posto di miodominio.local inserire il DC del dominio a cui ci si vuole autenticare)
Salvare e uscire

Modificare file ssh.config, andando ad editare solo le righe interessate
# vi /etc/ssh.config
StrictHostKeyChecking no
GSSAPIAuthenication yes
Salvare e uscire

Autenticarsi:
kinit “nome utente ldap”

I successivi accessi ai server in ssh avverranno senza la richiesta password.

Ad integrazione si possono mappare tutti i server in un programma come Remmina.
I settaggi sull’host saranno:



Save and Connect



Recuperare la password di root su una Virtual Machine con i Logical Volume



Se abbiamo dimenticato la password di root su un server Linux con i Logical Volume
la procedura da seguira è la seguente:
spegnere il server
cambiare il boot e mettere CD
attaccargli una Live CD
avviarlo

Verifica dei Local Volume attivi
# lvscan
inactive '/dev/vg_kvm_vm/root' [95.41 GiB] inherit
inactive '/dev/vg_kvm_vm/swap_1' [2.00 GiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_home' [1.76 TiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_swap' [7.69 GiB] inherit
L’output riporta che il Logical Volume della root è inattivo.

Usare “lvchange” per attivare il Logical Volume.
# lvchange -ay /dev/vg_kvm_vm/root

Verificare nuovamente i Logical Volume attivi
# lvscan
ACTIVE '/dev/vg_kvm_vm/root' [95.41 GiB] inherit
inactive '/dev/vg_kvm_vm/swap_1' [2.00 GiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_home' [1.76 TiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_swap' [7.69 GiB] inherit

Creare una directory sotto /mnt
# mkdir /mnt/recover

Montare il Logical Volume sotto la directory creata:
# mount /dev/vg_kvm_vm/root /mnt/recover

Modificare il file shadow presente sotto /etc
/etc# vi shadow
root:$6$g2o9RYV1$HfSYc1eHMezjrXjfHCyO7qeRtZf7vKu4uLDXVx8nLcy1DhsKW3D.iuM67UJcwf6u0BHHDxcZUDMv8wPmsI.kY.:17528:0:99999:7:::

Eliminare la prima parte:
$6$g2o9RYV1$HfSYc1eHMezjrXjfHCyO7qeRtZf7vKu4uLDXVx8nLcy1DhsKW3D.iuM67UJcwf6u0BHHDxcZUDMv8wPmsI.kY.

Il file deve diventare:
root::17528:0:99999:7:::

Salvare e uscire

Uscire dalla directory /etc (altrimenti non sarà spossibile smontare il volume)
cd..

Smontare il Logical Volume
# umount /mnt/recover

Usare “lvchange” per disattivare il Logical Volume.
# lvchange -an /dev/vg_kvm_vm/root

Verificare nuovamente i Logical Volume attivi
# lvscan
inactive '/dev/vg_kvm_vm/root' [95.41 GiB] inherit
inactive '/dev/vg_kvm_vm/swap_1' [2.00 GiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_home' [1.76 TiB] inherit
ACTIVE '/dev/vg_kvmserver/lv_swap' [7.69 GiB] inherit

Dalla Live spegnere il server e reimpostare il boot da HD sull’Hypervisor

A questo punto se si avvia il server, si avrà accesso alla console di root senza password

Impostare la password:
# passwd root

Se l'accesso a SSH non dovesse funzionare:
accedere alla console
modificare:
#vi /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password (commentare questa riga)
PermitRootLogin yes (aggiungere questa riga)

riavviare servizio ssh

TCP MSS

L'MSS (Maximum segment size) è un parametro TCP che indica la quantità massima di paylod (unità di misura byte) che un dispositivo di co...