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
Last revisionBoth sides next revision
its:gnu-linux [2024/04/19 09:12] – [Argomenti] Aggiunto il task di creazione utenti con password ferodaits:gnu-linux [2024/04/25 05:43] – Challenge per il 30 aprile e il tema 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>  +
-      - 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''+
  
-**Riusciamo ad installare un Dokuwiki?** +==== Linux da amministratore di sistema ====
-**Creazione bulk di utenti con password**+
  
-===== 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 successiva parleremo della ''bash'' 
 + 
 + 
 +**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/.MailStore\ Export*" 
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*"                                                                                                                      
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | grep G"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail | grep G"  
 +root@new-mail:/home/ced# watch -n300 "du -sch Maildir/.MailStore\ Export* | tail "  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail -n30 | grep Posta"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export* | tail -n20 | grep Posta"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | tail -n20"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | sort -n tail -n20"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | sort -n | tail -n20"  
 +root@new-mail:/home/ced# watch -n10 "du -sch Maildir/.MailStore\ Export*Posta* | grep G | sort -n | tail -n20"  
 +</code> 
 + 
 +**Suggerimento**: se ti trovi in difficoltà per 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 84: Line 124:
     * [[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.txt · Last modified: 2024/04/25 06:00 by feroda