Tips Of The Week – Comando Chmod

Comando Chmod 000

chmod (abbreviazioned di change mode) è un comando che modifica i permessi di file e directory.

Tutti i file in Linux hanno una serie di permessi assegnati R = Read/Lettura , W = Write/Scrittura , X = Execute/Esecuzione.

Ogni permesso ha un valore numerico unico, corrispettivamente illustrato qui sotto:

R W X
4 2 1

Considerando quanto detto, per stabilire un permesso bisogna sommare il valore del permesso da attribuire:

Permessi di lettura, scrittura ed esecuzione
R W X Valore ottale
4 + 2 + 1 = 7

Permessi di lettura e scrittura

R W X Valore ottale
4 + 2 + 0 = 6

Permesso di sola lettura
R W X Valore ottale
4 + 0 + 0 = 4

Nessun permesso 
R W X Valore ottale
0 + 0 + 0 = 0

Qui troviamo una tabella dei permessi possibili:

R W X
0 0 1 1 – – X Esecuzione
0 2 0 2 – W – Scrittura
0 2 1 3 – W X Scrittura ed esecuzione
4 0 0 4 R – – Lettura
4 0 1 5 R – X Lettura ed esecuzione
4 2 0 6 R W – Lettura e scrittura
4 2 1 7 R W X Lettura, Scrittura ed esecuzione
0 0 0 0 – – – Nessun permesso oppure satiricamente parlando permesso Cetto La Qualunque

Dopo questa piccola parentesi teorica passiamo alla parte pratica da terminalecon qualche esempio:

In questo esempio stiamo attribuendo il permesso 7 all’utente, il permesso 5 ai gruppi ed infine il permesso 0 agli altri:

‘chmod’ 750 ip_eng.txt

[email protected]:~/Documents$ ls
ip_eng.txt ‘July 2018’ wget ‘working documents ale’
[email protected]:~/Documents$ chmod 750 ip_eng.txt
[email protected]:~/Documents$

In questo esempio revochiamo a tutti gli utenti tutti i permessi:

‘chmod’ 000 ip_eng.txt
[email protected]:~/Documents$ ls
ip_eng.txt ‘July 2018’ wget ‘working documents ale’
[email protected]:~/Documents$ chmod 000 ip_eng.txt
[email protected]:~/Documents$ ls
ip_eng.txt ‘July 2018’ wget ‘working documents ale’
[email protected]:~/Documents$

Da buoni affamati di cultura Linuxiana vi condiviadiamo un paio di risorse dove trovare piu dettagli:
https://it.wikipedia.org/wiki/Permessi_(Unix)
https://it.wikipedia.org/wiki/Chmod

Tips Of The Week – License Open Source

Le license open source sono licenze software che rispettano determinati standard per quanto riguarda la possibilità di consultazione, modifica e condivisione del software da loro coperto.

Le principali famiglie di license open source sono:
BSD
Apache 2.0
GPL (GNU Public License)
MIT

La differenza tra le varie licenze elencate sta nella gestione del copyright e del modo in cui terze parti possono gestire il software messo comunque a disposizione.

Sono tutte licenze che richiedono l’intervento della OSI (open source initiative https://opensource.org/approval ) per la loro convalida.
Licenza open source non vuole assolutamente dire licenza non a uso commerciale, tant’è che ci sono aziende di grosso calibro che basano il loro business plan su progetti open source, basti pensare a RedHat, Canonical o Google.

Da questi tipi di licenze sono nate licenze “satellite” per la diffusione non solo di software ma anche di documenti o materiale informatico, ad esempio, Wikipediausa una licenza di tipo GFDL (Gnu Free Documentation License) studiata appunto per la condivisione del suo materiale didattico e informativo.

Per approfondimenti rimandiamo alla pagina di Wikipedia: https://it.wikipedia.org/wiki/Licenza_open_source
e alla pagina della OSI:
https://opensource.org/licenses

Tips Of The Week – Comando at

at è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, che permette di far eseguire uno o più comandi in un dato momento nel futuro, senza che sia richiesta la presenza dell’utente.

Il comando batch è una variante del comando at che usa impostazioni predefinite diverse tali da eseguire quanto prima i comandi usando una priorità inferiore a quella normalmente usata da at. Di fatto equivale al comando at -m -q b now, che esegue i comandi non appena il sistema non ha altre operazioni urgenti da eseguire e che notifica via email anche il completamento dell’esecuzione.

Pro Tip: Un simpatico scherzo…

$ at 2:30 nov 1
at> mpg123 urlo.mp3
at> ^D
job 11 at Sun Nov 1 02:30:00 2009

Tips Of The Week – Comando Wget

Ci sono diversi modi per scaricare files, la maggior parte basate su interfacce web e grafiche (GUI).

In questo tip vi presentiamo il comando wget, lo stesso supporta protocolli HTTPHTTPSFTP ed SFTP.

Ecco alcune opzioni utili:

• -c continua il download.
• -b continua il download nonostante la chiusura del Terminale.
• -p scarica tutti i file necessari per una corretta visualizzazzione di una pagina HTML, incluse le immagini.
• -P indicami il folder nel quale vogliamo scaricare i file, di default prende il folder corrente.
• -o log.txt crea un file logs con l’uscita di wget.
• -e robots=off non scarica il file robots.txt.
• –random-wait scagliona i download a tempi casuali, per evitare le black list.
• –limit-rate=20k limita la velocità di download a 20 kbps.

Alcuni esempi:

wget https://goo.gl/6cdwYo

Questo è un esempio di terminale dopo l’esecuzione del comando:

` [email protected]:~$ wget https://www.lucianopignataro.it/a/granita-al-limone-ricetta-amalfi-srrento/110577/

–2018-06-12 18:58:45– https://www.lucianopignataro.it/a/granita-al-limone-ricetta-amalfi-srrento/110577/
Resolving www.lucianopignataro.it (www.lucianopignataro.it)… 104.27.157.250, 104.27.156.250, 2400:cb00:2048:1::681b:9dfa, …
Connecting to www.lucianopignataro.it(www.lucianopignataro.it)|104.27.157.250|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Saving to: index.html

index.html [ <=> ] 90,74K –.-KB/s in 0,04s

2018-06-12 18:58:46 (2,14 MB/s) – index.html saved [92913] `

Possiamo scaricare più file contemporaneamente elencandoli in un file di testo

Esempio: qualche_ricetta.txt:
__https://goo.gl/bEHwg4__
__https://goo.gl/NmsJ3h__
__https://goo.gl/ydCXAL__

wget -i qualche_ricetta.txt

Tips Of The Week – Comando Quota

Il comando quota mostra le informazioni sull’uso dei dischi, prendendo le informazioni da /etc/mtab. Possiede moltissime opzioni, di cui andremo a elencare solo le più usate:
-F, con cui si può specificare il formato desiderato; 

-g, che raggruppa le informazioni a seconda del gruppo a cui l’utente appartiene;
-a, che controlla tutti i filesystem che hanno quota abilitato; 

-v, l’usuale “verbose mode”.

E’ necessario attivarlo, modificando sotto la directory /etc il file fstab e aggiungendo le parole “usrquota” e “grpquota” al corrispondente filesystem.

Questo un esempio dell’uso:

# quotacheck -avug

quotacheck: Scanning /dev/sda3 [/home] done

quotacheck: Checked 5182 directories and 31566 files

quotacheck: Old file not found.

quotacheck: Old file not found.

Tips Of The Week – Qualche shortcut utile!

Oggi consigliamo qualche shortcut per la shell!

Ricordiamo che si può sempre usare l’autocompletamento per i comandi base iniziando a scrivere le prime lettere per poi premere tab.

Il primo della lista è sudo su, una volta avuti i permessi di super user per questa sessione avremmo un vantaggio sui prossimi comandi per le autorizzazioni.

watch permette di ripetere un comando in maniera del tutto automatizzata, il suo uso è:

watch [options] command -> (per i dettagli rimandiamo al man).

sudo !! detto anche sudo bang bang è un utile comando che permette di ridare il precedente comando con i diritti di amministratore senza dover ridigitare il comando.

comando | grep condizione. Chi non ha mai avuto bisogno di fare ricerche negli output dei risultati? Bene grep è uno strumento famoso che può sempre tornare utile per le analisi di testo.

Altri consigli utili sono:
Ctrl + e per spostarsi alla fine della riga di comando che si sta dando.
Ctrl + a per spostarsi all’ inizio della riga di comando che si sta dando.
Ctrl + w per cancellare l’ultima parola immessa.

Tips Of The Week – Gestione manuale dei pacchetti

Sebbene il metodo preferito per installare programmi è con i gestori di pacchetti, si può anche scaricare ed installare un pacchetto attraverso il codice sorgente. Ci sono molti differenti tipi di file di pacchetti Linux. La maggior parte di questi sono associati con i gestori di pacchetti di specifiche distribuzioni Linux, come sempre, faremo riferimento alle distribuzioni APT based.

Prima di tutto è consigliabile installare delle utility che aiutano a compilare i pacchetti software direttamente dal codice sorgente:

apt-get install build-essential
apt-get install automake
apt-get install checkinstall

Generalmente i sorgenti sono contenuti in tarball degli archivi con estensione .tar.gz o .tar.bz2, questi vanno estratti e compilati seguendo le istruzioni che generalmente si trovano all’interno di un file Readme contenuto nella tarball o fornito in bundle.

Generalmente bisogna semplicemente dare il comando:
$ make
che compila il programma e ne restituisce il compilato nella cartella src presente all’interno della tarball estratta.

Se il programma è stato pensato specificatamente per distribuzioni Debian e derivate possiamo dare il comando:

$ checkinstall

che crea un file .deb direttamente dal compilato del software.
Il pacchetto .deb può essere installato tramite gestore dei pacchetti con:

$ dpkg -i mypackage.deb

Se invece non ci troviamo in una distribuzione APT based, è buona regola spostare il compilato nella cartella /opt della propria distribuzione e creare tutti i collegamenti necessari per richiamare agilmente il programma installato manualmente, per esempio creando un alias o un collegamento nella cartella /bin.

Tips Of The Week – GNU ddrescue

GNU ddrescue è un software di recupero dati. Copia i dati da un file (o dispositivo) all’altro cercando di recuperare prima le parti buone e poi quelle danneggiate.

Assumiamo di voler recuperare dati dal disco /dev/sdc. Assicurarsi che nessuna partizione di questo disco sia attualmente montata.

L’utilizzo base di ddrescue è il seguente:

# ddrescue /dev/sdc hddimage mapfile

Questo comando copia il contenuto di /dev/sdc dentro il file hddimagesalvando il proprio stato dentro il file mapfile. In questo modo è possibile interrompere e riprendere in ogni momento il recupero. Per interrompere premere Ctrl+C, per riprendere l’esecuzione è sufficiente rieseguire il comando interrotto.

I parametri disponibili sono numerosi, ma quelli più importanti sono:
-d usa l’accesso diretto al disco (per velocizzare il recupero),
-i BYTE posizione in byte da cui partire per il recupero del disco,
-s BYTE dimensione che determina il limite del numero di byte recuperati.

Una volta terminato il recupero si possono usare tool come testdisk in grado di recuperare dati da immagini disco.

Ulteriori informazioni nel manuale accessibile anche all’indirizzo: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

PS: fate un backup prima che i dischi si rompano, dormirete sonni più tranquilli! 😀

Tips Of The Week – Criptare un file con GPG

Uno dei software più utilizzati in ambito crittografico è GPG (GNU Privacy Guard).
GPG cifra i messaggi utilizzando una coppia di chiavi generate dall’utente (una pubblica e una privata).

Su praticamente ogni distribuzione Linux è possibile utilizzare GPG da terminale tramite il comando gpg.

Il programma può essere prestato a molti utilizzi, oggi vedremo quello più semplice: come criptare in modo simmetrico un file in locale.
Per lanciare la criptazione digitare:

gpg -c myFile

Dove -c sta per symmetric

digitare una chiave a scelta

Una volta terminato verrà generato il documento myFile.gpg.
Per decriptare il file basterà digitare:

gpg myFile.gpg

digitare la chiave

Quello mostrato non è sicuramente il metodo più sicuro, come potrebbe essere la modalità asimmetrica, ma può risultare utile e veloce per criptare file in locale senza troppi pensieri!

Tips Of The Week – Infrastruttura Desktop Virtuale

L’infrastruttura desktop virtuale (VDI) sfrutta la tecnologia di virtualizzazione per ospitare l’equivalente di un computer desktop sui server in un data center.

La VDI esegue il provisioning di desktop virtuali per un’esperienza utente finale che simula un sistema operativo desktop, ma con più desktop virtuali in esecuzione su un’infrastruttura server centrale. Il sistema operativo, il software applicativo e lo storage dati sono tutti ospitati e gestiti centralmente.

La tecnologia si applica in particolare a scenari su larga scala ma ripetitivi dove l’utente finale non ha bisogno di un PC dedicato, ma solo della funzionalità di un sistema operativo di base e di alcuni strumenti applicativi preimpostati. L’organizzazione può risparmiare sull’hardware, eseguendo il provisioning di un terminale a costi contenti al posto di un PC e beneficiando inoltre di minori spese di manutenzione.