Linux Capabilities: Un miglior root di SUID root.
Traduzione in lingua italiana delle diapositive presentate alla conferenza organizzata dalla Linux Foundation LinuxCon2014, Düsseldorf, 15 ottobre 2014.
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Intro a Linux tenuta all'università degli studi di Napoli Federico II. Speaker: Gabriele Previtera - https://www.linkedin.com/in/gabriele-previtera-6657648b/
Linux Capabilities: Un miglior root di SUID root.
Traduzione in lingua italiana delle diapositive presentate alla conferenza organizzata dalla Linux Foundation LinuxCon2014, Düsseldorf, 15 ottobre 2014.
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Intro a Linux tenuta all'università degli studi di Napoli Federico II. Speaker: Gabriele Previtera - https://www.linkedin.com/in/gabriele-previtera-6657648b/
Slide riferite alla terza lezione del corso. Trattano dell'utilizzo della shell in generale e dei comandi in essa utilizzabili. Si parlerà anche delle soluzioni ad eventuali problemi di configurazione del sistema ed inoltre delle più comuni tecniche di virtualizzazione ed emulazione o l'utilizzo di wine.
Master: Amministratore Linux - Livello Base
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Chi ha paura della command-line? - WordCamp Roma 2018Marco Chiesi
Negli ultimi decenni le interfacce uomo-macchina dei sistemi informatici si sono evolute incessantemente con l’obiettivo di rendere l’interazione con gli utenti sempre più semplice e intuitiva.
Ci sono però ambiti specifici in cui l’interfaccia a “riga di comando” si dimostra tutt’oggi uno strumento insostituibile. Ne è la dimostrazione il crescente successo del progetto WP-CLI, supportato ufficialmente da WordPress.
Non è indispensabile essere programmatori o sistemisti per trarre un vantaggio diretto e tangibile dall’utilizzo di strumenti basati su riga di comando. Questo talk, dopo una rapida introduzione sull’argomento, presenterà una carrellata di esempi pratici e di semplice applicazione, in cui l’uso della command-line può far risparmiare tantissimo tempo.
Il documento si propone di analizzare le tecniche di base per effettuare il reverse engineering. Verranno inoltre prese in esame le caratteristiche principali di alcuni dei tool utilizzati nel reverse engineering .
Il documento si rivolge a chi ha già buone conoscenze relative alle tecniche con cui si realizza un buffer overflow e spiega più in dettaglio come realizzare shellcode e lo shatter attack.
Networking di base, LAN casalinga, installazione e configurazione servizi Samba, Cups, FTP. Sessione Terminal con scripting bash per piccoli automatismi.
Videocorso in italiano su Udemy!
https://www.udemy.com/corso-linux-per-sviluppatori-web-lamp-apache-php-mysql/?couponCode=SLIDES10
- Installare un server linux
- Lavorare con la linea di comando
- Gestione gruppi, utenti e permessi
- Bash scripting
- Espressioni regolari
- Apache, NGnix &Https
- Installare PHP & MySql
- Cron e crontab
Slide riferite alla terza lezione del corso. Trattano dell'utilizzo della shell in generale e dei comandi in essa utilizzabili. Si parlerà anche delle soluzioni ad eventuali problemi di configurazione del sistema ed inoltre delle più comuni tecniche di virtualizzazione ed emulazione o l'utilizzo di wine.
Master: Amministratore Linux - Livello Base
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Chi ha paura della command-line? - WordCamp Roma 2018Marco Chiesi
Negli ultimi decenni le interfacce uomo-macchina dei sistemi informatici si sono evolute incessantemente con l’obiettivo di rendere l’interazione con gli utenti sempre più semplice e intuitiva.
Ci sono però ambiti specifici in cui l’interfaccia a “riga di comando” si dimostra tutt’oggi uno strumento insostituibile. Ne è la dimostrazione il crescente successo del progetto WP-CLI, supportato ufficialmente da WordPress.
Non è indispensabile essere programmatori o sistemisti per trarre un vantaggio diretto e tangibile dall’utilizzo di strumenti basati su riga di comando. Questo talk, dopo una rapida introduzione sull’argomento, presenterà una carrellata di esempi pratici e di semplice applicazione, in cui l’uso della command-line può far risparmiare tantissimo tempo.
Il documento si propone di analizzare le tecniche di base per effettuare il reverse engineering. Verranno inoltre prese in esame le caratteristiche principali di alcuni dei tool utilizzati nel reverse engineering .
Il documento si rivolge a chi ha già buone conoscenze relative alle tecniche con cui si realizza un buffer overflow e spiega più in dettaglio come realizzare shellcode e lo shatter attack.
Networking di base, LAN casalinga, installazione e configurazione servizi Samba, Cups, FTP. Sessione Terminal con scripting bash per piccoli automatismi.
Videocorso in italiano su Udemy!
https://www.udemy.com/corso-linux-per-sviluppatori-web-lamp-apache-php-mysql/?couponCode=SLIDES10
- Installare un server linux
- Lavorare con la linea di comando
- Gestione gruppi, utenti e permessi
- Bash scripting
- Espressioni regolari
- Apache, NGnix &Https
- Installare PHP & MySql
- Cron e crontab
A simple introduction to the Python programming language. In Italian. OLD: superseeded by Pycrashcourse 3.1.
Originally presented during the Networking class of the Computer Science course at the University of Parma
La shell Bash - Comandi base - Comandi avanzati - Espressioni regolariFulvio Corno
Master: Amministratore Linux - Livello Base
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Con un approccio pratico, e ricco di esempi semplici per illustrare bene i concetti, impara le basi del linguaggio di scripting Bash, ormai divenuto uno standard de facto in termini di scripting di shell (Shell Scripting).
La presentazione si compone di 12 lezioni / capitoli:
1 - Introduzione
2 - Primi passi
3 - Variabili
4 - Array
5 - Aritmetica
6 - Test
7 - Costrutti condizionali
8 - Cicli iterativi
9 - Funzioni
10 - Quoting
11 - Terminare uno script
12 - Debugging
Per un totale di 98 diapositive
Similar to Seminario introduzione all'uso del terminale e della bash in Linux (20)
Seminario introduzione all'uso del terminale e della bash in Linux
1. Uso della CLI
● Cosa è una Shell
ambiente che permette di impartire dei comandi da
tastiera. (Command Line Interface )
interpreta i comandi immessi e quindi in genere
manda in esecuzione altri programmi.
● Bash (bourne again shell) default in linux
derivata da Bourne shell .
● Altre Korn shell, C shell , tcsh (T shell) ,
Z shell ...
2. Uso della CLI
● Come si interagisce con bash ?
● Si usa un teminale
(ctrl+alt+F1) tty1
(ctrl+alt+F2) tty2
....
(ctrl+alt+F7) ritorna nella modalità grafica
● Oppure si usa un emulatore di terminale
xterm -konsole ...
3. Uso della CLI Concetti base
● Struttura del file system
● Differenza fra windows e Linux
A: B: C: D: (tanti alberi separati) - Unico albero
● Prima cartella : root indicata con /
4. Uso della CLI Concetti base
● Mount Point (punto di montaggio)
● Comando mount su cartella vuota
5. Uso della CLI spostarsi fra le cartelle
● Si parte sempre da casa. (tilde ~)
● Cartella corrente . (per sapere quale è pwd =print working
directory)
● Cartella superiore ..
● Come indicare una certa carlella o file
– Percorso assoluto inizia con /
/home/alberto/Scrivania/miofile.txt
– Percorso relativo (a dove siamo attualmente)
Scrivania/miofile.txt
● Comando per spostarsi di cartella cd (change directory)
cd =cd ~ va a casa
● mkdir crea nuova catella
6. Uso della CLI
Proviamo dei semplici comandi
● echo ciao a tutti
● Comando cat visualizza su video il contenuto di un
file.
● cat /etc/shells (usare il tab per aiutarvi)
● cat /etc/shells /etc/resolv.conf (2 files ....)
● Copiare i file cp origine destinazione
● Eliminare file rm
● Rinominare spostare mv
7. Uso della CLI
Proviamo dei semplici comandi
● echo ciao a tutti
● Comando cat visualizza su video il contenuto di un
file.
● cat /etc/shells (usare il tab per aiutarvi)
● cat /etc/shells /etc/resolv.conf (2 files ....)
8. Uso della CLI facilitazioni di
bash
● Tab completamento automatico (set show-all-if-ambiguous
on nel file /etc/inputrc )
● history
● Freccie su e giù
● !cat !”numero” ctrl+r … non quello giusto
allora ancora ctrl+r
● Muoversi sulla linea end e home. ctrl+w cancella
parola a sinistra del cursore....alt+b alt+f -alt .
9. Uso della CLI editor testuali
● nano pico
● vi emacs .... NO !! non indicati per principianti
10. Uso della CLI quali file ci sono ?
● Comando ls
● Parametri voglio vedere i dettagli ls -l
● Un file ha un proprietario e un gruppo. (un utente molti gruppi)
– Diritto di scrittura W (Write)
– Diritto di scrittura R (Read)
– Diritto di esecuzione X (eXecute)
Il proprietario può cambiare i diritti.
● Provare ls -a -l . File nascosto inizia con un punto. Uguale a
ls -al (vero per la maggior parte dei programmi)
● Caratteri jolly Il significato di * e di ?
11. Uso della CLI il file è mio e lo
gestisco io ?
● Chi puo fare cosa … chmod
chi :
– proprietario u (user)
– quelli del gruppo g (group)
– tutti gli atri o (other)
– Tutti a (all)
cosa : + mette - toglie
– R read leggere
– W write scrivere
– X eseguire per cartelle accedere
● voglio che il gruppo non possa scrivere :
chmod g-w ./miofile.txt
12. Uso della CLI un “animale”
silenzioso
● Se tutto tace tutto va bene .
● Scrittura su schermo operazione
dispendiosa.
● Parametro -v verbose (in genere)
● Avrà capito cosa volevo dire .... meglio
usarlo all'inizio.
13. Uso della CLI come trovare aiuto ?
● Cosa può fare ls ?? man ls oppure man chmod
sezioni di man :
– 1 comandi in genere
– 8 comandi di amministrazione
– 5 descrizione dei file di configurazione
– 4 “driver” come sono viste le periferiche
● Ma se voglio fare una cosa e non so come ??
(prima google ) poi apropos
● apropos copy
aiuto troppi risultati !!-- come fare ??
14. Bash giocare con i tubi !
Primi giochi --- le ridirezioni
● Un programma ha un ingresso e due uscite
standard input tastiera 0
standard error video 2
standard output video 1
● Ridirezione >
● Provare ls “file inesistente” > prova1 (default è 1)
● Provare ls “file inesistente” 2 > prova2
● Provare ls “file inesistente” &> prova3
> crea sostituisce >> accoda
● find /etc -iname '*pass*' 2>/dev/null
Programma0
1
2
15. Bash giocare con i tubi !
Primi giochi --- le ridirezioni
● Esempio di ridirezione standar input (cat da solo)
● Programma < “file”
● Programma << “EOF” il mio input finisce a...
● Programma <<< fino a fine riga ( anche se sono più di
una … carattere speciale /)
● Une esempio il programma bc - bc <<<”9^3+5”
● at now +2 minutes <<<'play /home/gulp
/Scrivania/lezioneBash/esempi/allarmeRosso.wav'
16. Bash giocare con i tubi !
Cosa è una pipe-line -mettiamo il primo tubo
● Non solo file ...anche programmi
● La pippe |il mio output diventa il tuo input
● La pipeline : ognuno fa una cosa sola ma la fa bene.. tutti
insieme fanno tante cose.
● Un “paginatore “ : less .
● Un “cercatore” : grep . grep stringa nomefile
● apropos copy |grep -i file
17. Bash giocare con i tubi !
Altri esempi di pipe
● ps lista processi attivi ps aux
● interattivo top -O seleziona ordinamento R ascendente
discendente.
● Trovare e uccidere un processo “cattivo” kill -9
● Il programma wc word count
● ls -1 *.txt | wc -l
● Altri programmi: sort tail head lsof netstat
● xargs cambia le righe in colonne …
18. Bash gli alias i soprannomi che belli !!
● alias – quelli che già esistono
● creare un nuovo alias
alias mio_nome=”comando”
alias iochisono=”whoami”
alias dormi='sudo /sbin/shutdown -t 8 -h now'
alias cancellaCD='alias cancellaCD="/usr/bin/cdrecord -v /
gracetime=2 dev=ATAPI:/dev/hdd speed=12 /
-tao driveropts=burnfree blank=all -force"
● alias fine=” tail -n15 ”
● eliminare un alias unalis “nome_alias”
● Fare un alias “tel” che cerca un numero telefonico nel file
tel.txt
19. Bash una ambiente su misura !
● Shell di login –login
legge ed esegue : /etc/profile
e poi il primo che trova leggibile fra :
~/.bash_profile,
~/.bash_login,
~/.profile
● Shell interattiva.
~/bashrc
● Alla fine (comando exit).
~/.bash_logout
20. Bash uff !! che noia automatizziamo!
● Uno script : una sequenza di comandi
# cancelletto commento --riga ignorata
#! chi è in grado di capire i comandi
#!/bin/bash
chmod +x per eseguirlo direttamente
21. Bash variabile di ambiente condivamo
delle informazioni
● Associo ad un nome un valore.
In che lingua preferisci i messaggi di errore ???
LANG
● Creare una nuova variabile VAR =”valore”
senza spazi prima e dopo =
● Leggere una variabile echo $VAR
● Variabile Globale -locale
comando export nome_variabile
● Comando env visualizza le variabili globali. Set anche quelle
locali.
22. Bash variabile di ambiente condivamo
delle informazioni
● Associo ad un nome un valore.
In che lingua preferisci i messaggi di errore ???
LANG
● Creare una nuova variabile VAR =”valore”
senza spazi prima e dopo =
● Leggere una variabile echo $VAR
● Variabile Globale -locale
comando export nome_variabile
● Comando env visualizza le variabili globali. Set anche quelle
locali.
23. Bash variabile di ambiente
esempi
● PATH dove li cerco i programmi che mi dici di
eseguire ? (lista separata da :)
● LANG=it_IT (locale -a)
● PS1=u:w$
● LS_COLORS
● HTTP_PROXY
● HTTPS_PROXY
24. Bash i 3 tipi di virgolette
● “” doppi apici - provare i seguenti comandi
echo ;
echo “;”
echo “$LANG”
doppi apici fanno stampare caratteri che per bash hanno un significato speciale
ma comunque esaminano il valore delle variabili
● ' ' apici singoli - provare
echo '$LANG'
apici singoli bash non interagisce con quello incluso negli apici singoli echo
stampa la stringa passata.
● ` ` apici inclinati (altgr+apice singolo) - provare
echo “ora sono le ore : `date +%H:%M:%S.%N` “
tra apici inclinati viene scritto un comando ..l'output del comando sarà messo
nel messaggio .
25. Bash job control
● CTRL +c termina programma
● CTRL+z mettere in pausa un programma
yes test | nl
● fg Foreground
yes test |nl > ./testbg
● bg background
● & in fondo: esecuzione da subito in background
● comando jobs
● Kill %numjob
26. Bash più instruzioni sulla stessa riga
● Piu istruzioni ma non nella stessa pipeline
● ; eseguo sempre e comunque
● && se il comando precedente è stato eseguito
correttamente allora lo eseguo altrimenti mi fermo.
wget http://www.sito.org/file.tgz && tar -xf file.tgz
● || se il comando precedente è terminato in errore
allora lo eseguo altrimenti mi fermo.
27. Esempi
# ordina le linee di lista.txt in ordine alfabetico
sort lista.txt
#Fa vedere solo i warning della partenza dell'ambiente grafico
grep 'WW' /var/log/Xorg.0.log
#Fa vedere solo gli errori della partenza dell'ambiente grafico
grep 'EE' /var/log/Xorg.0.log
#trova tutte le righe che contengono mario nel file telefoni.txt
grep mario telefoni.txt
#aggiunge infondo al file una nuova riga senza dover aprire il file in un
editor
#ATTENZIONE a usare >> se si usa solo > si sovrascrive
eho 'mario ultimo 05062111111111' >>telefoni.txt
#emette un suono fra 2 minuti si puø scolare la pasta :-)
at now +2 minutes <<<'play /home/gulp
/Scrivania/lezioneBash/esempi/allarmeRosso.wav'
wall <<FINE
# cerca tutti i file che hanno la stringa pass nel nome e non fa vedere
errori
find /etc -iname '*pass*' 2>/dev/null
#aggiorna il sistema e poi spenge il pc
sudo apt-get update;sudo apt-get upgrade 2>errori.log;sudo halt
#Realizzazione di un fortune grafico usa pacchetti fortune e libnotify
#per nomi icone guardare http://standards.freedesktop.org/icon-naming-
spec/icon-naming-spec-latest.html
notify-send --urgency=low --expire-time=20000 --icon='face-wink' 'La sorte dice:' "$
(fortune -a )"