User Tools

Site Tools


its:gnu-linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
its:gnu-linux [2024/04/19 07:56] – aggiunti argomenti del corso, in particolare sull'amministrazione di sistema e di rete ferodaits:gnu-linux [2024/04/25 06:00] (current) – [Lezione 4 - 30 aprile 2024] - elencati argomenti bash feroda
Line 3: Line 3:
 ===== Argomenti ===== ===== Argomenti =====
  
-  - <del>Linux da utente</del> +<del>Linux da utente</del>
-  - Linux da amministratore di sistema +
-    - Terminale +
-      - Generali: <TAB>, <UP>, <DOWN>, <CTRL+C>, <CTRL+Z>,  +
-      - 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 +
-    - Configurare il sistema +
-      - vi e vim +
-      - grep +
-      - find +
-  - 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'' +
-    - firewall ''nftables'' (più noto come ''iptables''+
-    - scansione delle porte ''nmap'' +
-    - analisi del traffico di rete ''tcpdump'', ''wireshark''+
  
 +==== Linux da amministratore di sistema ====
  
-===== Lezione 2 19 aprile 2024 =====+  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
  
-**Obiettivi**:+==== Linux da amministratore di rete ====
  
-  - Utilizzo del terminale introduzione alla shell +  - i protocolli ''/etc/protocols'' 
-  - Utenti, creazione e la directory $HOME +  - i servizi le porte di default ''/etc/services'' 
-  - I Pacchetti e i Repository. Installazione/Disinstallazione/Aggiornamento +  - i socket attivi ''ss'' ''netstat'' 
-  - La versione della distribuzione+  - 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 =====
  
  
-Attivita':+  - **Riusciamo ad installare un Dokuwiki?** 
 +  - **Creazione bulk di utenti con password** 
 +  - **Predisposizione macchina GNU/Linux per il corso di fondamenti di programmazione**
  
-  - its-student accede in ssh alla macchina Ubuntu1 +===== Servizi, protocolli e porte di default ===== 
-  its-student installa vim, code, gcc e tmux  + 
-  its-student crea un utente per ogni alunno+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 | 
 +^ IMAPs | Consultazione Email (sicuro) | imaps | 993 | thunderbird/mutt | dovecot | thunderbird (snap) | dovecot-imapd | 
 +^ <del>IMAP</del> | Consultazione Email (insicuro) | imap | 143 | ::: | ::: | ::: | ::: | 
 + 
 +===== Lezione 4 - 30 aprile 2024 ===== 
 + 
 +  * Rispolveriamo la pipe ''|'' 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''
 +  * Dopo l'esercitazione, ripasseremo velocemente FHS  
 +  * Poi continueremo con 2 parole sulla ''bash'' e altri comandi base: 
 +    * Command substitution ''$()'' (o ''`'', ma meglio la forma con il ''$''
 +    * ''awk'' come ''cut'' superpotenziato: https://stackoverflow.com/a/36211753/720743 
 +    * ''sed'' come arma letale per processare le righe dello standard input o di uno o più files 
 +    * Cicli in Bash 
 + 
 +==== Esercitazione ==== 
 + 
 +**Scenario**: 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? 
 + 
 +<code> 
 +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"  
 +</code
 + 
 +Nota: alcune righe potrebbero non aver dato il risultato speratoper 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''
 + 
 +===== Lezione 3 - 23 aprile 2024 ===== 
 + 
 +Il prof crea la macchina Ubuntu2
  
-Opzionali: 
-  - Creazione macchina Ubuntu2 
   - Accesso in ssh alla 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 ==== ==== Integrazione al contesto della Lezione 1 ====
Line 79: Line 132:
     * [[https://agilemanifesto.org/display/000000027.html|La firma di David Lillie]]      * [[https://agilemanifesto.org/display/000000027.html|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
  
  
its/gnu-linux.1713513407.txt.gz · Last modified: 2024/04/19 07:56 by feroda