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

mercoledì 25 ottobre 2017

Problemi installazione pacchetti .deb

A volte può succedere che a seguito di un upgrade questo non vada a buon fine a causa di errori, sia che si usi apt-get upgrade, sia dpkg -i
es:
dpkg: errore nell'elaborare l'archivio
/var/cache/apt/archives/nome_pacchetto.deb

La soluzione è forzare l'installazione con -force-overwrite
Quindi se un pacchetto .deb blocca l'archivio apt dare:
dpkg -i --force-overwrite /var/cache/apt/archives/nome_pacchetto.deb
apt-get install -f

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...