mercoledì 23 novembre 2016

libavcodec may be vulnerable or is not supported...[Solved]

Salve!

Dalla versione n. 50, Firefox, su alcuni siti (ad esempio, Twitter) non mi lasciava più vedere i filmati.

E, inoltre, compariva il seguente errore:

"libavcodec may be vulnerable or is not supported, and should be updated to play video."

Per ovviare al problema:

1. Nella barra degli indirizzi digitate: about:config e premete invio.

2. Accettate i rischi. :)

3. Cercate la stringa "libavcodec change media.libavcodec.allow-obsolete"

4. Cliccateci sopra affinchè si passi dal valore false al valore true.


 5. Non resta che riavviare Firefox.

Alla prossima.


martedì 11 ottobre 2016

PWGEN, random password generator

Pwgen genera password casuali, senza significato ma pronunciabili. O quasi :)

Consente di creare password in vario modo, di diversa lunghezza e con un set di caratteri normale o con caratteri speciali.


Per installarlo

$ sudo apt-get install pwgen


Per creare una pw alfanumerica:

$ pwgen -s -1


Per creare una pw alfanumerica, con la scelta del numero di caratteri (nel nostro caso 12)

$ pwgen -s -1 12

Per creare una pw contenenti anche caratteri speciali.

$ pwgen -s -1 12 -y

Ora immaginiamo di avere su un file di testo (lista_utenti.txt) il nome di cinque utenti e di voler creare per ognuno di esso una pw, in un colpo solo.



#!/bin/bash
#name: creapw.sh

for i in $( cat lista_utenti.txt ); do

       pwgen -s -1 12 -y | sed "s/^/$i /" 

done

exit 0

Ecco il risultato.


Alla prossima!

venerdì 23 settembre 2016

I nostri dati al sicuro con RSync.


Ciao a tutti,

bentornati dopo le meritate vacanze estive.

Anche io ricomincio le attività e quindi eccomi qui con un nuovo post che spero risulti utile e che possa aiutarvi ad evitare momenti di "difficoltà" :)

La prima regola quando si lavora al PC, a mio avviso, è la SICUREZZA per i nostri dati che faticosamente abbiamo prodotto e accumulato nel tempo.

Quale momento più indicato di questo per fare un po' i conti con le copie di backup e magari automatizzarle? Mettere ordine in quello che spesso è il caos dei files ripetuti e sparsi nelle varie directory?

Chiarisco subito che la soluzione descritta in questo articolo non è la più completa ,esistono sistemi più avanzati, nè questo post vuol essere una guida esaustiva per il backup dei dati.

Lo strumento che andiamo ad utilizzare per fare tutto il lavoro si chiama RSync; è un programma utilizzabile a linea di comando ed è già disponibile nella vostra distribuzione Linux, in particolare in questo post userò Lubit (tanto per non fare nomi :) ).

Contrariamente a quanto potrebbe sembrare RSync è uno strumento molto potente con molte funzioni che possiamo combinare per ottenere il risultato  desiderato, in particolare permette di sincronizzare i files con un backup anche incrementale, comprimerli in tempo reale per minimizzare i dati da trasferire, copiare ricorsivamente le cartelle e molto altro.

In fondo all'articolo metterò il link per chi volesse approfondire l'argomento, è comunque sempre disponibile il prezioso man quindi, in caso, usiamolo :)

Iniziamo!

Cominciamo col dire che nel programmare il backup dei nostri dati  abbiamo due possibilità:

1) copiare i dati in locale;

2) copiare i dati in remoto.

Analizziamo le due possibilità cominciando col backup in locale, che tra l'altro è delle due la soluzione più semplice.

Come ogni programma che si rispetti RSync ha la tipica sintassi :

rsync opzione  sorgente  destinazione

innanzitutto vediamo alcune semplici opzioni di uso comune:

-v : abilita l' output dell'operazione in corso ed eventuali errori

-r : copia ricorsivamente i files contenuti all'interno delle directory

-h : scrive in forma più umanamente leggibili le cifre

-a : copia ricorsivamente i files e ne mantiene inalterati gli attributi, i permessi e tutte le caratteristiche

-z : attiva la compressione dei dati in tempo reale

-- delete : cancella i files che sono stati concellati nel PC sorgente

-- exclude : esclude singoli tipi di files

-- existing: sincronizza solo i files già presenti nel PC destinazione

1 - Backup locale

Vediamo quindi come copiare i dati in locale , cioè con sorgente e destinazione diverse ma stesso PC.
 Questa e' la modalità più semplice e veloce, basta creare la cartelle destinazione e dare in pasto a rsync i parametri che abbiamo visto in precedenza, per es.


rsync -vrhz /home/utente /copiadati


questo comando effettua la copia di tutta la cartella home dell'utente in modo incrementale, ricorsivo con compressione dati nella cartella copiadati, da notare che la compressione dati non crea file compressi ma utilizza algoritmi di compressione solo per il trasferimento dati.

Per automatizzare la procedura è possibile creare uno script per eseguire la copia all'avvio del PC o programmare con il comando cron l'esecuzione.

2 - Backup remoto

La seconda opzione è fare il backup di directories locali su PC remoto e viceversa, possiamo avere un PC che contiene le copie aggiornate di tutti i dati sparsi sui vari computers che utilizziamo.

Una caratteristica di RSync, sempre a proposito della sicurezza, è la trasmissione dei dati su rete in modo cifrato utilizzando una connessione SSH tra sorgente e destinazione in modo da essere sicuri che nessuno possa intercettare e leggere i nostri dati.

Qualora il PC destinazione non avesse installato il demone server ssh sarà necessario installarlo , digitando:


sudo apt-get install openssh-server


fatto questo possiamo procedere al backup.

Creiamo una directory che conterrà le nostre copie dei dati con


mkdir /home/utente/copiadati


e dal pc sorgente digitiamo la stesso comando che abbiamo visto nel primo caso ma specificando come destinazione il server ssh :



rsync -vrhz /home/utente  nomeutente@ip_host:/home/utente/copiadati


a questo punto ci verrà chiesto di confermare la connessione e accettiamo, successivamente alla richiesta digitiamo la password di nomeutente e il gioco è fatto!

Naturalmente il gioco funziona anche al contrario, cioe' copiare dati remoti su un pc locale, basta invertire i parametri.



Per adesso e' tutto,

alla prossima!


Per approfondimenti è possibile consultare il link https://www.samba.org/ftp/rsync/rsync.html

lunedì 28 marzo 2016

Se ci sei, batti un colpo


Salve,
rieccomi ancora qui, dopo una lunga pausa, a scrivere ancora qualche riga e un po' di codice nella speranza che possano essere di aiuto a qualcuno come è  stato per me.
Come al solito parto da una mia esigenza, un piccolo problema che, non conoscendo una soluzione altrettanto semplice e veloce di questa, ho risolto con uno script in python.

Quando si hanno dei pc connessi alla rete, specialmente quando questi offrono dei servizi e quindi fanno da server, può essere utile avere un quadro della situazione e conoscerne in modo automatico la raggiungibilità sulla rete.

Il codice che ho scritto parte dal presupposto che i pc/server da tenere sotto controllo rispondano al ping, così come  avviene normalmente se non si interviene manualmente per disattivare i pacchetti ICMP.

Per farla breve posto subito il codice e poi un breve commento.



#!/usr/bin/env python

import os
import time

# elenco di host da processare in formato nome (host : indirizzo ip)
myservers = {
'Server A' : '192.168.1.10',
'Server B' : '192.168.1.20',
'Server C' : '192.168.1.30',

}

count=0 # contatore dei check

while True:
 print('------------------')
 print('--- Up or Down ---')
 print('------------------')
 count+=1 # conta i check
 print 'Check:',count
 print 'Orario: ',time.strftime("%H:%M:%S")
 print('')
 for nomehost, indirizzoip in myservers.items(): 
     # esegue il ping per ogni host e memorizza in test il risultato dell' operazione
  test = os.system("ping -c 1 " + indirizzoip+" >> /dev/null") 
  if test == 0:
   # se il ping ritorna il valore 0 allora l' host e' raggiungibile
   result = nomehost+' - '+indirizzoip+' --  ONLINE' 
  else:
   # ogni valore diverso da 0 vul dire che l' host e' irraggiungibile 
   result = nomehost+' - '+indirizzoip+' ---------  OFFLINE' 
  print(result)
 
 time.sleep(600) # un po di riposo
 os.system('clear') # pulisce lo schermo del terminale e ricomincia



Iniziamo col definire l' elenco dei servers da controllare, nel dizionario che ho chiamato myserver sono presenti le coppie (nome host : indirizzo ip) che dovrete modificare inserendo i dati dei vostri pc.

Fatto questo il resto non è da modificare, e funziona così:

viene inizializzata una variabile count che servirà per contare i check e quindi stamparli a video così da controllare come procede il ciclo while, un ciclo infinito che controlla costantemente tutti i servers mediante un ciclo for.
Per ogni item presente del dizionario definito in precedenza viene effettuato un ping sull'indirizzo ip, se il risultato è uguale a 0 vuol dire che il ping è riuscito ad arrivare al server che ha risposto correttamente, viceversa se il valore è diverso da 0 vorrà dire che il server non ha risposto e quindi non sarà raggiungibile sulla rete.
Da notare che ho inserito di proposito nella stringa dei servers non raggiungibili dei trattini in più, proprio per metterli in evidenza qualora qualcosa non andasse a buon fine nel ping.

Questo è tutto,

Alla prossima!