Linux da utente
ufw
= “Uncomplicated firewall”nftables
(più noto come iptables
)/etc/protocols
/etc/services
ss
e netstat
ip addr list
ip link show
ping
nc
, telnet
openssl
curl
nmap
tcpdump
, wireshark
Qui trovate i servizi utilizzati o citati durante il corso:
Servizio | alias (aka) | proto | porta | client | server | pkg client | pkg server |
---|---|---|---|---|---|---|---|
Secure Shell | OpenSSH | ssh | 22 | ssh | sshd | openssh-client | openssh-server |
Remote Desktop | Connessione Remota Windows | rdp | 3389 | rdesktop/xfreerdp | xrdp | rdesktop/xfreerdp | xrdp |
IMAPs | Consultazione Email (sicuro) | imaps | 993 | thunderbird/mutt | dovecot | thunderbird (snap) | dovecot-imapd |
| Consultazione Email (insicuro) | imap | 143 |
|
e le pipeline (sequenze di comandi separati dalla pipe) utilizzati per comporre articolati comandi da una riga di shell (di solito la bash e per questo detti oneliner bash
o più sinteticamente oneliner
)bash
e altri comandi base:$()
(o `
, ma meglio la forma con il $
)sed
come arma letale per processare le righe dello standard input o di uno o più filesScenario: Il prof ha esportato 1,3TB di posta elettronica da un server ad un altro via IMAP. Il formato di destinazione è il classico “Maildir” in cui le cartelle che appaiono sul client di posta elettronica sono esattamente cartelle sul filesystem all'interno di una directory “Maildir”.
Riusciresti a dire cosa voleva monitorare il prof. (comando watch
da esaminare alla fine dell'esercizio) con la sequenza di comandi (o meglio pipeline) che progressivamente ha raffinato qui si seguito tra virgolette?
root@new-mail:/home/ced# watch -n10 "du -sh Maildir/.MailSt*" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | grep G" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | tail | grep G" root@new-mail:/home/ced# watch -n300 "du -sch Maildir/.MailSt* | tail " root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | tail -n30 | grep Posta" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt* | tail -n20 | grep Posta" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | tail -n20" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | sort -n tail -n20" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | sort -n | tail -n20" root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailSt*Posta* | grep G | sort -n | tail -n20"
Nota: alcune righe potrebbero non aver dato il risultato sperato, per questo sono state rilanciate in modo più opportuno.
Suggerimento banale se ti trovi in difficoltà su comandi o opzioni: usa il man
oppure esegui il comando con -h
(o –help
). Se proprio non riesci a sbloccarti fai una ricerca web, ma a questo punto è meglio se chiedi a ChatGPT o Copilot, perché almeno ti possono chiarire la situazione. Tuttavia non farlo, se vuoi imparare a cavartela da solo, prima di aver provato con il man
o il -h
.
Il prof crea la macchina Ubuntu2
man
e all'opzione –help
, i seguenti comandi:Il progetto rivoluzionario chiamato Linux, porta con sé in realtà un contesto composto da 2 anime, quella più etica del Software Libero ideata da Richard Stallman e quella più tecnica del kernel Linux ideata da Linus Torvalds. La conoscenza della sua storia ci fa capire il ruolo di entrambe e in particolare quello di Linux, come nucleo fondamentale e punta dell'iceberg di un ecosistema che gli ha consentito di spopolare e portare una vera rivoluzione tecnica e socioeconomica:
Parte 1:
Parte 2:
(WAS: Le 2 anime di GNU/Linux: contesto etico e tecnica)
Richard Stallman dal 1984 rappresenta la parte etica per portare la libertà agli individui attraverso il software libero. Fonda il progetto GNU, definisce le 4 libertà e crea la licenza software GPL-v2 (ora GPL-v3) che garantisce la 4 libertà fondamentali.
Linus Torvalds inizia nel 1991 a scrivere un kernel per migliorare la sua produttività e per divertirsi. Inizialmente nemmeno doveva essere un kernel. È bravo, lo comunica agli appassionati, decide di applicargli la licenza GPL-v2 e può integrare facilmente il suo sviluppo con i tool per progetto GNU per ottenere un sistema operativo Unix alternativo. Che secondo Stallman
Per questo durante questo corso presenteremo prevalentemente gli aspetti pratici, ma non tralasceremo il contesto che ha creato Stallman e che ha altre implicazioni pratiche sulla diffusione del software, sull'immenso business che si è creato e, se riusciremo a vederlo anche sulle modalità di lavoro dei team delle moderne aziende Lean.
ip
e ss
, da vedere ifconfig
e netstat
Per smanettare un po' con ssh ci si può rivolgere anche alla seziona apposita in questo wiki. Si accettano consigli / pull request per migliorare questi contenuti.