ITS Corso GNU/Linux

Argomenti

Linux da utente

Linux da amministratore di sistema

Terminale

Generali: <TAB>, <UP>, <DOWN>, <CTRL+C>

man, history

ls, cd, cat, head, tail, lsb_release -a

Accesso remoto

ssh

FHS - La gerarchia delle directory

/home,/root

/etc,/var,/usr,/tmp

/proc,/sys

/dev

/usr/local,/opt

Gestione utenti non privilegiati e privilegiati

sudo

Installazione/rimozione pacchetti

apt, apt-get, apt-cache, apt-file

Download file remoti

via ssh: scp

via web: wget e curl

Gestione dei servizi con systemd

systemctl, resolvectl, hostnamectl, timedatectl

Gestione del firewall

la soluzione di Ubuntu ufw = “Uncomplicated firewall”

firewall standard nftables (più noto come iptables)

Configurare il sistema

modifica dei file di testo con vim o vi

ricerca contenuti con grep

ricerca files con find

sospensione/riattivazione con <CTRL+Z>, bg e fg

Linux da amministratore di rete

i protocolli /etc/protocols

i servizi e le porte di default /etc/services

i socket attivi ss e netstat

la propria configurazione di rete ip addr list

le proprie interfacce di rete ip link show

test di raggiungibilità ping

test di connessione ad un servizio nc, telnet

test di connessione ssl/tls con openssl

test di richieste https curl

scansione delle porte nmap

analisi del traffico di rete tcpdump, wireshark

Possibili attività/piccoli progetti

Riusciamo ad installare un Dokuwiki?

Creazione bulk di utenti con password

Predisposizione macchina GNU/Linux per il corso di fondamenti di programmazione

Servizi, protocolli e porte di default

Qui trovate i servizi utilizzati o citati durante il corso:

dove leggete “porta” è da intendersi come “porta di default”;

dove leggete “client” è da intendersi come “software client di riferimento”;

dove leggete “server” è da intendersi come “software server di riferimento”;

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

Lezione 3 - 23 aprile 2024

Il prof cre la macchina Ubuntu2

Accesso in ssh alla macchina Ubuntu2

Ripetizione delle operazioni della lezione precedente in autonomia ed esplorando, grazie al comando man e all'opzione –help, i seguenti comandi:

ls, cat, head e sort, tail e sort, lsb_release -a, grep

cd, mkdir

Ognuno espone un comando esplorato e una opzione. Potete dire da quale directory viene eseguito?

Impostare l'hostname con hostnamectl

Integrazione al contesto della Lezione 1

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:

Quanto è utilizzato GNU/Linux rispetto agli altri sistemi operativi? Percentuale di utilizzo dei sistemi operativi in vari settori (Wikipedia)

Cos'è il Software Libero?

Perché il software non deve avere padroni

Debian Free Software Guidelines o Debian Social Contract

The Open Source definition: open source è la visione aziendale del software libero. Perché realizzare software libero è più efficace ed efficiente e secondo gli “opensourcisti” deve essere presentato in questo modo alle aziende, e non (o in secondo piano) per il valore etico

Le modalità di collaborazione Open Source sono parte de Il Manifesto dello sviluppo Agile (2001)

La firma IMPORTANTE di Eric S. Raymond (Open Source Initiative)

La firma di Paxer Conseil

La firma di David Lillie

Lezione 2 - 19 aprile 2024

Obiettivi

Utilizzo del terminale ed accesso remoto

Utenti, creazione

I Pacchetti e i Repository. Installazione/Disinstallazione/Aggiornamento

Attività

Parte 1:

its-student accede in ssh alla macchina Ubuntu1 (192.168.6.203)

ssh its-student@192.168.6.203

its-student crea un utente per ogni alunno

sudo adduser tuonick

id tuonick

its-student rende l'utente alunno privilegiato

sudo adduser tuonick sudo

id tuonick

ls /home/

its-student fa logout (logout o exit o CTRL+D) dalla macchina Ubuntu1

ogni alunno accede via ssh alla macchina Ubuntu1

Parte 2:

ogni alunno installa vim, code, gcc e tmux, xrdp rispettivamente

test dei comandi appena installati

test di accesso remoto al sistema Ubuntu tramite Connessione Desktop Remoto di Windows

Lezione 1 - 09 aprile 2024

Il contesto: Il Software Libero, Linux e GNU/Linux

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

Efficacia di oggi: OpenSSH per la connessione remota sicura e installazione VM Ubuntu

Introduzione al protocollo SSH e la sua implementazione libera OpenSSH

Porta di default 22, come porte http e https

Utilizzo di ssh da Windows a Ubuntu Live

Accenno minimale comandi ip e ss, da vedere ifconfig e netstat

Installazione di Ubuntu Desktop

Eseguita installazione con impostazioni predefinite su macchina VMWare

Problema: al riavvio della VM abbiamo ottenuto un blank screen;

Soluzione: assegnare 24MB alla scheda grafica di VMWare che di default ne assegna solo 4;

Nota: a noi non serve l'interfaccia grafica, se non (forse) per analizzare i pacchetti con wireshark

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.

Contesto etico di oggi: 20 anni di Linux e Revolution OS

20 anni di Linux EN con sottotitoli

Revolution OS ITA

Personaggi da sapere

Richard Stallman,

Linus Torvalds

Eric Raymond (La cattedrale e il bazaar, manutentore Jargon File)

Progetti da sapere

Il progetto GNU e la licenza GPL con le 4 libertà del Software Libero

Netscape come premessa a Mozilla Firefox

Addon: timeline delle distribuzioni GNU/Linux.

Principali: Slackware, Debian e Red Hat

Nota di merito su Archlinux