" itemprop="description"/>

FaciLinux

Guide Facili per Linux

I pdf firmati sono entrati nella quotidianità della vita digitale.
Ma come controllare che un pdf sia davvero firmato in Linux?
E di controllare la validità della (o delle) firme apposte?

Un tool compreso nelle poppler-utils permette di verificare la presenza e la validità delle firme apposte sui file pdf.

Installazione

Sistemi RedHat e simili

sudo dnf install poppler-utils

Sistemi Debian e simili

sudo apt install poppler-utils

Utilizzo

pdfsig path_to_pdf_file.pdf

Esempio

$ pdfsig test.pdf 
Digital Signature Info of: test.pdf
Signature #1:
  - Signer Certificate Common Name: NOME COGNOME
  - Signer full Distinguished Name: givenName=NOME,dnQualifier=2020711XXXXX,CN=COGNOME NOME,serialNumber=TINIT-XXXXXXXXXXXXXXXX,SN=COGNOME,C=IT
  - Signing Time: Dec 17 2021 11:00:00
  - Signing Hash Algorithm: SHA-256
  - Signature Type: ETSI.CAdES.detached
  - Signed Ranges: [0 - 490397], [523167 - 530133]
  - Not total document signed
  - Signature Validation: Signature is Valid.
  - Certificate Validation: Certificate issuer is unknown.

Sulle recenti versioni di Gnome Shell è scomparso il menu di Nautilus (File) per visualizzare le directory prima dei files. Se questa mancanza vi fa impazzire, ecco come rimediare; aprite un terminale e date questo comando

gsettings set org.gtk.Settings.FileChooser sort-directories-first true

e il gioco è fatto.

Gli utenti di Gnome e KDE possono godere di azioni di crittazione/decrittazione di file direttamente dai rispettivi filemanager, cliccando con il tasto destro del mouse sul file interessato.
Thunar, il FileManager di Xfce, non presenta questa funzionalità integrata ma, grazie alle “Azioni personalizzate”, è possibile estenderne il comportamento; vediamo come fare.

Prerequisiti

Innanzitutto è necessario installare i pacchetti necessari; per Debian/Ubuntu il comando da dare è:

user@debby:~$ sudo apt install seahorse seahorse-nautilus seahorse-daemon

Seahorse è un’interfaccia grafica per gestire le chiavi GPG negli ambienti Gnome/Gtk, mentre del pacchetto seahorse-nautilus ci serve il binario seahorse-tool, come vedremo più avanti.

Azione personalizzata “Cifra..”

  • Aprire Thunar e selezionare il menu Modifica > Imposta azioni personalizzate, quindi:
  • Premere sul pulsante +
  • Nel campo Nome inserire “Cifra…”
  • Nel campo Descrizione inserire “cifra con GPG”
  • Nel campo Comando inserire “seahorse-tool -e %F”
  • Selezionare un’icona a proprio piacimento
  • Nel tab “Condizioni di visibilità” selezionare tutte le tipologie di file, escludendo le cartelle e come “Schema del file” mantenere il predefinito “*” Dato che un video vale più di mille parole, ecco qui sotto il riepilogo di quanto fatto: Azione personalizzata "Cifra..."

Azione personalizzata “Decifra..”

  • Aprire Thunar e selezionare il menu Modifica > Imposta azioni personalizzate, quindi:
  • Premere sul pulsante +
  • Nel campo Nome inserire “Decifra…”
  • Nel campo Descrizione inserire “decifra con GPG”
  • Nel campo Comando inserire “seahorse-tool -d %f”
  • Selezionare un’icona a proprio piacimento
  • Nel tab “Condizioni di visibilità” selezionare solo “Altri file” e come “Schema del file” impostare “.gpg;.pgp” Anche in questo caso ecco qui sotto il riepilogo a video di quanto fatto: enter image description here

XBrowserSync è un progetto (e un servizio) opensource che permette di svincolarsi dai sync più o meno proprietari offerti dai maggiori browser e vendor.

La via semplice

Il modo più semplice di usare xBrowserSync è quello di installare l'addon per Firefox o Chrome/Chromium direttamente dai rispettivi market, scegliere uno dei server ufficiali di xbrowsersync e iniziare la sincronizzazione, creando un nuovo syncID.

I dati vengono crittografati all'origine, e trasmessi via https. Altri browser/dispositivi possono venire agganciati utilizzando il syncID e la password associata.

Android?

Il team del progetto ha creato anche un'app per Android, scaricabile sia dal Play Store sia con F-Droid

La via Difficile

Ovvero, creiamo un'istanza privata di xbrowsersync!

Essendo un progetto opensource e free è naturalmente possibile installare un'istanza server privata di XBrowserSync su un proprio server.

Ecco come fare utilizzando un'istanza VPS (di quelle a basso costo offerte da molti gestori cloud).

Per quanto non coperto da questa guida rimando all'ottimo readme presente sul github del progetto a questo indirizzo: https://github.com/nodesource/distributions/blob/master/README.md

Prerequisiti

Per funzionare, XBrowserSync necessita di nodejs e MongoDB.

Per installare mongodb su server Debian/Ubuntu è sufficiente il comando

sudo apt install mongodb

Per NodeJS è invece necessario aggiungere un repository esterno, seguendo la guida presente sul sito del progetto: https://github.com/nodesource/distributions/blob/master/README.md

Installazione del servizio

Il primo passo è clonare il repository GIT di xbrowsersync all'interno del server VPS; consiglio di creare una directory xbrowsersync all'interno di /opt:

sudo mkdir /opt/xbrowsersync

Spostiamoci all'interno della directory appena creata e cloniamo il repository

cd /opt/xbrowsersync
git clone https://github.com/xbrowsersync/api.git

Ora installiamo e compiliamo il pacchetto

npm install --unsafe-perm

Configurazione di MongoDB

Apriamo la shell di mongodb con il comando

mongo

Ora creiamo e configuriamo il database per xbrowsersync (NB. sostituire PASSWORD con una password a propria scelta)

use admin
db.createUser({ user: "xbrowsersyncdb", pwd: "PASSWORD", roles: [ { role: "readWrite", db: "xbrowsersync" }, { role: "readWrite", db: "xbrowsersynctest" } ] })
use xbrowsersync
db.newsynclogs.createIndex( { "expiresAt": 1 }, { expireAfterSeconds: 0 } )
db.newsynclogs.createIndex({ "ipAddress": 1 })

Usciamo dalla mongo shell con il comando

exit

Opzionale: otteniamo un FQDN per il nostro server VPS

È possibile puntare il servizio di XBrowserSync usando direttamente l'indirizzo IP del server VPS, ma avreste particolari rogne volendo sfruttare l'HTTPS (raccomandato) e volendo usare in contemporanea anche il client per Android. Infatti, il client per Android non permetterebbe la sincronizzazione (non avendo un FQDN dovreste usare un certificato self-signed, con tutti i problemi di importazione e riconoscimento di tali certificati in Android.

Per fortuna è possibile risolvere alla radice tali problemi, utilizzando servizi gratuiti messi a disposizione online. DuckDNS è un servizio online di DynamicDNS assolutamente gratuito, che permette di registrare domini di terzo livello del tipo dominio.duckdns.org.

Il nostro VPS avrà un IP fisso, quindi possiamo registrare il dominio di terzo livello che vogliamo (in questa guida myxbsync.duckdns.org) e scordarci le problematiche di aggiornamento dell'IP.

Opzionale: otteniamo un certificato valido per il nostro dominio

Dopo aver registrato il nostro nome DNS dobbiamo ottenere un certificato valido.

SSLforFree permette, sempre gratuitamente, di ottenere un certificato (valido 90 giorni e aggiornabile all'infinito). Rimando alle chiare guide del sito per la generazione del certificato; consiglio di registrarsi al sito per gestire i rinnovi con facilità.

Dopo aver ottenuto i certificati, copiamoli sul nostro server VPS e scompattiamo lo zip in una directory, appositamente creata, in /etc/ssl/web.

Configurazione di XBrowserSync

Il servizio si configura in un unico file json, da parire con l'editor preferito e collocato in /opt/xbrowsersync/api/config/settings.default.json I campi da modificare per il database sono:

"name": "xbrowsersync",
"username": "xbrowsersyncdb",
"password": "PASSWORD",

Per il logging valorizzare come segue il capo path per log

"path": "/var/log/xBrowserSync/api.log",

Opzionale: per HTTPS valorizzare come segue i campi sotto server

"https": {
      "certPath": "/etc/ssl/web/certificate.crt",
      "enabled": true,
      "keyPath": "/etc/ssl/web/private.key"
    },

Opzionale: modificare il campo message in status

"message": "Benvenuto nel mio xBorwserSync privato",

Sistemazione permessi e path

Creiamo il path dove verranno salvati i file di log

sudo mkdir /var/log/xBrowserSync

Ora sistemiamo i permessi; faremo girare il servizio con l'utente fittizzio (di sistema) nobody

sudo chown -R nobody:nogroup /var/log/xBrowserSync
sudo chown -R nobody:nogroup /opt/xbrowsersync

Creazione eseguibile di avvio

Creiamo un nuovo file (come root) con il nostro editor preferito in /usr/bin con questo contenuto:

#!/bin/bash

export NODE_EXTRA_CA_CERTS=/etc/ssl/web/ca_bundle.crt
/usr/bin/node /opt/xbrowsersync/api/dist/api.js

NB la riga NODE_EXTRA_CA_CERTS è da mettere solo se si è seguita la guida per l'abilitazione dell'https con i certificaticreati con FreeSSL

Salviamo il file come xbrowsersync e rendiamolo eseguibile

sudo chmod +x /usr/bin/xbroswersync

Creazione e abilitazione del demone systemd

Creiamo un servizio systemd per l'avvio/spegnimento del servizio; creiamo il file /etc/systemd/system/xbrowsersync.service con il nostro editor preferito, con questo contenuto:

[Unit]
Description=XBrowserSync Service

[Service]
ExecStart=/usr/bin/xbrowsersync 
Restart=always
User=nobody
# Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody'
Group=nogroup
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/opt/xbrowsersync/api

[Install]
WantedBy=multi-user.target

Facciamo rileggere a systemd i file di configurazione con il comando:

sudo systemctl daemon-reload

Ora abilitiamo e facciamo partire il servizio di XBrowserSync:

sudo systemctl enable xbrowsersync
sudo systemctl start xbrowsersync

A questo punto è possibile contattare il proprio servizio privato di sync dall'indirizzo http ( o https) del proprio server VPS sulla porta 8080. Per il nostro esempio, l'indirizzo divenda quindi: https://myxbsync.duckdns.org:8080

Restrizione d'uso

Il servizio, di default, accetta nuovi account di sync da chiunque ne conosca l'indirizzo; se vogliamo mantenere il nostro xbrowsersync ad uso privato, dopo aver aggiunto i synID desiderati, possiamo fermare il servizio e modificare il file json di configurazione, nella sezione status, impostando a false la direttiva allowNewSyncs:

"allowNewSyncs": false,

Quindi riavviare il servizio. A questo punto, gli utenti con un syncID valido potranno continuare a utilizzare il servizio, ma non saranno accettati nuovi utenti.

È possibile installare le guest additions di VirtualBox anche su macchine linux di tipo "server", che tipicamente non montano una GUI?

La risposta a questa domanda è molto semplice, ed è sì.

In questa guida prenderemo ad esempio una vm server con installato Debian.

Fase Preliminare

NB Tutti i comandi dati da terminale in questa guida sono da eseguire con utente root

Prima di tutto occorre accedere in console alla vm, e installare tutti i pacchetti necessari alla corretta installazione delle Guest Additions; da root quindi diamo il seguente comando:

apt update && apt upgrade && apt install gcc make perl linux-headers-$(uname -r)

Ora siamo pronti per installare le Guest Additions; dal menu di VirtualBox selezioniamo la voce "Dispositivi > Inserisci l'immagine del CD delle Guest Additions".

Il CD è ora inserito, smontato, all'interno del server.

Copia dei file e installazione

Montiamo il cd delle Guest Additions con il seguente comando:

mount /dev/cdrom /mnt

Ora copiamo il file relativo alla Guest Additions per sistemi Linux all'interno della home di root:

cp /mnt/VBoxLinuxAdditions.run ~

Ora eseguiamo l'installazione delle Guest Additions, utilizzando il flag -nox11 (per consentire l'installazione da console non grafica) e l'opzione install:

/root/VBoxLinuxAdditions.run --nox11 install

Il comando produrrà un output simile a questo:

Verifying archive integrity... All good.
Uncompressing VirtualBox 6.0.4 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 6.0.4 of VirtualBox Guest Additions...
update-initramfs: Generating /boot/initrd.img-4.9.0-9-amd64
root@debian-9:~# /root/VBoxLinuxAdditions.run --nox11 install
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.0.4 Guest Additions for Linux........
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel 
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: Building the modules for kernel 4.9.0-9-amd64.
update-initramfs: Generating /boot/initrd.img-4.9.0-9-amd64
VirtualBox Guest Additions: Running kernel modules will not be replaced until 
the system is restarted
VirtualBox Guest Additions: Starting.

Se è andato tutto liscio le Guest Additions sono ora installate sulla VM.

Verifica È possibile verificare, aprendo un terminale sull'host che esegue VirtualBox, se le guest additions sono installate su una VM. Il comando da dare è:

vboxmanage showvminfo "Nome VM"

sostituiendo "Nome VM" con la label o l'UUID della VM di cui si vogliono ottenere le informazioni.

NB È possibile ottenere la lista delle label e degli UUD delle VM con il comando vboxmanage list vms

L'output del comando conterrà qualcosa di questo genere:

Additions run level:         2
Additions version            6.0.4 r128413

Guest Facilities:

Facility "VirtualBox Base Driver": active/running (last update: 2019/06/06 14:29:09 UTC)
Facility "VirtualBox System Service": active/running (last update: 2019/06/06 14:29:33 UTC)
Facility "Seamless Mode": not active (last update: 2019/06/06 14:29:09 UTC)
Facility "Graphics Mode": not active (last update: 2019/06/06 14:29:09 UTC)

Rimozione delle Guest Additions

Per rimuovere le Guest Additions è sufficiente lanciare il comando:

/root/VBoxLinuxAdditions.run --nox11 uninstall

Installazione su altre distribuzioni GNU/Linux

Questa guida porta ad esempio l'installazione delle guest additions su una VM Debian; la guida può funzionare anche per sistemi derivati (o imparentati...), come Ubuntu e LinuxMint.

Per sistemi diversi l'elenco delle dipendenze da installare nei prerequisiti potrebbe essere diverso; ad esempio, nei sistemi RedHat, Fedora, CentOS, il pacchetto linux-headers viene nominato come kernel-devel.

Generalmente lo script di installazione delle Guest Additions è piuttosto evoluto, quindi se manca una dipendenza l'installazione fallirà, suggerendovi i passi da seguire per le dipendenze mancanti.

Gli articoli presenti in questo sito sono di proprietà degli autori di FaciLinux
Idee, consigli? Scrivici su
info-at-berretto.eu
Questo blog è basato su HTMLy