X2 Linux Riassunti
-
Upload
luupuxall -
Category
Technology
-
view
626 -
download
5
Transcript of X2 Linux Riassunti
Todo-Installazione-ServizioProgramma == SERVIZIO di rete == SERVER
Cerchiamo il programma servizio da installareapt-cache search nomeprogramma
Installaliamo il programmasudo apt-get install nomeprogramma
Verifica avvio del programmaps axw |grep programma ( per verificare se il programma è in esecuzione)
netstat -anp |more (per verificare se il programma è in ascolo sulla porta predefinita es 80/http 23/ftp 22/ssh fare riferimento ad /etc/service per una lista delle porte e relativi protocolli layer applicativo
Configurazione Programmaman programma (lettura del manuale in alternativa cercare in /usr/share/doc/nomeprogramma)editare i file di configurazione presenti nella dir /etc/nomeprogramma o in alternativaquelli definiti nella doc di riferimento del programma installato (man nomeprogramma)
Test di funzionamento del programmaUtilizzare un client appropriato per verificare che il programma e in ascolto e rispondecorrettamente alle richieste.
Debug tail -f /var/log/programma In caso di malfunzionamenti verificare nei log del
programma la segnalazione di errori (tipicamente /var/log/programma)
2
FileSystem
/ Radice (root). La directory principale che contiene tutte le altre.
/root Home dell'utente root, da non confondere con la root ( / ), che è la directory principale e non una directory che si chiama /root
/boot Contiene tutte le immagini del kernel e file indispensabili al bootstrap del sistema.
/etc Contiene i file di configurazione del sistema e dei programmi installati
/home Contiene le home directory degli utenti normali (tutti tranne l'utente root)
/usr Contiene binari, documentazione, librerie e sorgenti della maggior parte dei programmi (e i sorgenti del kernel)
3
FileSystem
/var Contiene tutti file che hanno informazioni dinamiche, che tendono a modificarsi con il tempo: log, file di pid e lock dei processi in esecuzione, directory di spool (stampa, mail...) ecc.
/proc File system virtuale, generato in tempo reale dal kernel. Contiene, come se fossero file e directory, dati dinamici sul sistema e sui processi
/dev Contiene file speciali, che corrispondono a dispositivi hardware o a funzionalità particolari. Tramite di essi si può accedere al relativo device hardware.
/sbin Contiene comandi e programmi riservati a root ( altri comandi sono in /usr/sbin/ )
/bin Contiene comandi e programmi base per tutti gli utenti (altri comandi sono in /usr/bin/ )
Comandi Essenziali di sistema
mkdir: Crea una directory (make directory) cd: Cambia la directory di lavoro (change directory) ls: Lista i file (list) cp: copia i file (copy) mv: Sposta i file (move) rm: Rimuove un file o una directory (remove) wc: Conta le parole, i caratteri e le righe di un file (word count) sort:Permette di ordinare il contenuto dei filecat:Concatena dei file e ne emette il contenuto attraverso lo standard output.
Comandi Linux essenzialiShell Bash
less : lettura file more : lettura filetail : emette attraverso l'output la parte finale di un file > : redirezione dello standard output >> : redirezione dello standard output in append mode < : redirezione dello standard input 2> : redirezione dello standard error 2>> : redirezione dello standard error in append mode
Sintassi delle espressioni regolari
Nota: La sintassi proviene da quella del comando grep.
• ^ inizio della linea• $ fine della linea• ogni singolo carattere corrisponde a sè stesso (se si tratta di un carattere speciale, per fare il confronto lo si
deve far precedere da \ , quindi: \?, \+, \{, \|, \(, \), ecc.• . qualsiasi carattere eccetto il fine-linea
• [12a-e-] un carattere tra quelli racchiusi tra parentesi. In questo caso può essere: 1, 2, a, b, c, d, e, -. Gruppiconsecutivi di caratteri si identificano con il primo, seguito da - e dall'ultimo (a-e=abcde). Se il primocarattere è ^, si intende qualsiasi carattere ESCLUSI quelli tra parentesi. Per includere il simbolo ] lo si devemettere per primo, mentre per inserire il simbolo ^ lo si deve mettere da qualsiasi parte TRANNE cheall'inizio, e per il carattere - deve essere l'ULTIMO prima della parentesi quadra.
• * il carattere precedente può essere presente 0 o più volte• + il carattere precedente può essere presente 1 o più volte• ? il carattere precedente può essere presente 0 o 1 volte al massimo
• {n} il carattere precedente può essere presente esattamente n volte• {n,} il carattere precedente può essere presente almeno n volte• {n,m} il carattere precedente può essere presente almeno n volte e al massimo m• due espressioni regolari separate da | diventano alternative
VI:comandi più comunemente utilizzati
Comando Descrizionei Modalità di inserimento alla posizione del cursoreI Modalità di inserimento a inizio rigaA Modalità di inserimento a fine rigar Sovrascrivere un carattereR Modalità di sovrascritturax Cancellazione (come tasto Canc)dd Cancellare una riga:w Salvare:wq Salva e esce (come ZZ):q! Esce senza salvare
Gestione Utenti
su : Avviare una shell con un altro utentesudo : Esegue un comando come altro Utenteadduser : Crea un utente la home , imposta la password e la shell per l'utenteuseradd : Crea un nuovo utente inserendo solo i dati non impostando password home e shell deluser : Cancella un utentepasswd : Imposta la password di un utenteaddgroup : Crea un gruppo di sistemachown : Cambia l'utente proprietario di file e directorychmod : Cambia la modalità di file e directorychgrp : Cambia il gruppo proprietario di file e directory.
Permessi
Permessi
r-- = 4 Consente la lettura del contenuto.
-w- = 2 Consente la modifica del contenuto.
--x = 1 Consente l'avvio di un programma o l'attraversamento di una directory.
rw- = 6 Consente la lettura e la modifica del contenuto.
r-x = 5 Consente la lettura del contenuto e l'avvio di un programma o l'attraversamento di una directory.
-wx = 3 Consente la modifica del contenuto e l'avvio di un programma o l'attraversamento di una directory
rwx = 7 Consente la lettura, la modifica del contenuto e l'avvio di un programma o l'attraversamento di una directory.
Permessi
12
Comandi Gestione Pacchetti
apt-get – Interfaccia a riga di come per APT
apt-cache – Ricerca informazioni nella cache dei sistema
dpkg – Installatore dei pacchetti Debian
synaptic – Interfaccia grafica Gtk di APT
dselect – installatore Debian dei pacchetti
13
apt-get
apt-get è lo strumento a riga di comando per la gestione dei pacchetti
Sintassi:apt-get [opzioni] [comando] [pacchetto ...]
Dove comando è uno dei seguenti:
update : apt-get updateupgrade : apt-get upgradedist-upgrade : apt-get dist-upgradeinstall : apt-get install nomepacchettoremove : apt-get remove nomepacchettoclean : apt-get clean
14
apt-get opzioni frequenti
-m
Ignora i pacchetti mancanti, se ce ne sono.
-d
Scarica solamente i pacchetti necessari, senza installarli.
-f
Ripara le dipendenze non soddisfatte; eseguire apt-get -f install solo perriparare automagicamente i problemi di dipendenze sul proprio sistema.
Stratificazione degli strumenti di gestione dei pacchetti Debian
dpkg-deb interviene solo al livello di archivi Debian, consentendo l'estrazione e l'archiviazione in questo formato;
dpkg-split è uno strumento aggiuntivo in grado di suddividere e riassemblare assieme gli archivi Debian, in modo da poterli gestire in file più piccoli, soprattutto quando questi devono essere trasportati su dischetti;
Dpkg (l'eseguibile dpkg) interviene nei pacchetti Debian, a livello elementare, consentendone l'installazione e la loro disinstallazione, avvalendosi eventualmente di dpkg-deb quando necessario;
apt-get interviene nei pacchetti Debian, a livello più evoluto di Dpkg, essendo in grado di risolvere da solo molti problemi di dipendenze;
Dselect si trova al livello più alto per la gestione dei pacchetti (assieme a APT) e si avvale di tutti gli strumenti inferiori;
APT è un sistema di strumenti paralleli a Dselect, composto da diversi programmi frontali alternativi che poi si avvalgono di apt-get per lo svolgimento dei loro compiti.
Dpkg Comandi Base
sudo dpkg -i pacchetto: Per installare dei programmi
sudo dpkg -L pacchetto: Se vogliamo conoscere il contenuto di un pacchetto deb già installato scriviamo da terminale.
sudo dpkg --info pacchetto.deb: se il pacchetto non è ancora installato e ci interessa avere delle informazioni dettagliati sul suo contenuto, sui programmi che ne fanno parte ecc. basta scrivere:
Dpkg Comandi Base
sudo dpkg -S nome file: Un'altra eventualità che si può verificare è quella di voler conoscere a quale pacchetto installato cossisponde un precisaso file, basta che scriviamo:
sudo dpkg -r pacchetto: Per disinstallare programmi
sudo dpkg --purge pacchetto: Per rimuovere applicazioni e i relativifile di configurazione si scrive
sudo dpkg -reconfigure pacchetto: riconfigurare un pacchetto già installato
PS opzioni frequenti
l formato lungo
f le righe di comando sono mostrate in un albero
a mostra anche i processi degli altri utenti
x mostra i processi senza terminale di controllo
S aggiunge il tempo di cpu dei figli e i page fault
w output largo: non tronca le righe di comando per farle stare una per riga. Per essere precisi, ogni w aggiunto metterà a
disposizione un’altra riga di output per ogni processo. Se lo spazio non è necessario non sarà usato. Si può arrivare fino a 100w
pstree
pstree[Invio]
Visualizza i processi organizzando l'output in albero
Invio di segnali ai processi
SIGHUP Il collegamento con il terminale è stato interrotto.SIGINT Interruzione attraverso un comando dalla tastiera.SIGQUIT Conclusione attraverso un comando dalla tastiera.SIGILL Istruzione non valida.SIGABRT Interruzioni di sistema.SIGFPE Eccezione in virgola mobile.SIGKILL Conclusione immediata.SIGSEGV Riferimento non valido a un segmento di memoria.SIGPIPE Condotto interrotto.SIGALRM Timer.SIGTERM Conclusione.SIGUSR1 Primo segnale definibile dall'utente.SIGUSR2 Secondo segnale definibile dall'utente.SIGCHLD Eliminazione di un processo figlio.SIGCONT Riprende l'esecuzione se in precedenza è stato fermato.SIGTSTOP Ferma immediatamente il processo.SIGTSTP Stop attraverso un comando della tastiera.SIGTTIN Processo sullo sfondo che richiede dell'input.SIGTTOU Processo sullo sfondo che deve emettere dell'output.
Segnali attraverso la tastiera
Alcuni segnali possono essere inviati al programma con il quale si interagisce attraverso
delle combinazioni di tasti.
SIGINT [Ctrl c] Interruzione attraverso un comando dalla tastiera.
SIGTSTP [Ctrl z] Stop attraverso un comando della tastiera.
SIGTQUIT [Ctrl \] Conclusione attraverso un comando dalla tastiera.
SIGCONT fg(comando di sistema) Riprende l'esecuzione se in precedenza è stato fermato.
Comando «kill»
Sintassi
kill [opzioni] [numero_pid...]Opzioni
-s segnale Specifica il nome o il numero del segnale da inviare.-l Mostra l'elenco dei segnali disponibili con i numeri corrispondenti.
E.s.kill -l[Invio]
Mostra l'elenco dei segnali disponibili.
kill -s SIGHUP 1203[Invio] Invia il segnale SIGHUP al processo corrispondente alnumero 1203.
Comando «kill»
E.s.kill -s 1 1203[Invio]
Esattamente come nell'esempio precedente
kill 1 1203[Invio]Esattamente come nell'esempio precedente
kill -9 1203[Invio]Invia il segnale SIGKILL al processo corrispondente alnumero 1203.
Elenco Comandi
top: Visualizza la situazione sull'utilizzo delle risorse
htop: Alternativa a top arricchita graficamente
pidof nomeprogramma: Ritorna il pid del programma nomeprogramma
killall -HUP nomeprogramma: Invia il segnale SIGHUP a tutti i processi avviati con il comando yes.
nice -n VAL nomeprogramma : (nice -n 3 yes)Esegue il comando nomeprogrammma assegnandoli un valore di priorità nel sistema al valore VAL
renice -n VAL -p PID : (renice -n 5 -p 875)Imposta il valore nice a VAL per i processi PID
Fuser
fuser *[Invio] :Mostra i processi che accedono ai file della directory corrente.
fuser -k /home/utente/* [Invio] :Elimina tutti i processi che utilizzano file nella directory /home/utente.
fuser -v -m /dev/hda1[Invio]: Mostra i processi che utilizzano in qualche modo il contenuto dell'unità a dischetti /dev/fd0. L'uso dell'opzione -v fa sì che si ottengano informazioni dettagliate.
fuser -k -m /dev/hda1[Invio] Elimina tutti i processi che utilizzano file nel'unità /dev/hda1.
Utilizzo di «nohup»
$ nohup yes &[Invio] : Viene avviato sullo sfondo ilprogramma yes e il suo output viene salvato nel file nohup.out
$ nohup yes > /dev/null &[Invio] : Viene avviato sullo sfondo ilprogramma yes e il suo output viene semplicemente ridiretto verso /dev/null
N.B.Il comando indicato come argomento non viene messo automaticamente sullo sfondo, per ottenere questo occorre aggiungere il simbolo & (e-commerciale) alla fine della riga di comando.
la priorità di esecuzione del programma viene modificata, aumentando il valore nice di cinque unità.
Utilizzo di «crontab» (UTENTE)
Il programma crontab permette di creare o modificare il file crontab di un utente determinato.
Sintassi:crontab [opzioni]
Opzioni:crontab [-u utente] file Sostituisce il file crontab con il file indicato come argomento.
crontab -l [utente] Visualizza il file crontab dell'utente.
crontab -e [utente] Crea o modifica il file crontab dell'utente.
crontab -r [utente] Cancella il file crontab dell'utente.
Utilizzo di «crontab» (UTENTE)
+——————————— minuto (0-59)| +————————- ora (1-31)| | +—————– giorno del mese (1-31)| | | +——— mese (1-12)| | | | +- giorno della settimana (0-6, sun=0)| | | | |* * * * * “comando”5 0 * * * “comando” Esegue 5 minuti dopo la mezzanotte di ogni giorno.*/5 * 15 * * “comando” Esegue ogni cinque minuti del giorno 15*/5 * * * * “comando” Esegue ogni cinque minuti di ogni giorno
Anacron
anacron -u nomefileModifica il timestamps del jobs senza eseguirlo
anacron -f nomefileForza l'avvio del jobs ignorando il timestamps
anacron -n nomefileEsegue il job ignorando il valore di delay
at,batch, atq e atrm
at permette di pianificare, in un certo orario, l'esecuzione di un comando batch [opzioni] [orario] permette di pianificare, in un certo orario, l'esecuzione di un comando non appena il livello di carico del sistema diventa ragionevolmente basso da permetterlo cioè quando il carico medio va sotto il limite di 0.8. In pratica, si può anche indicare un momento particolare (un orario), ma l'esecuzione può avvenire solo quando il sistema si trova ad avere un'attività ridotta.
atq [opzioni] emette l'elenco dei job in coda.
atrm job... elimina dalla coda i job specificati nella riga di comando.
TCP/IP e il modello ISO-OSI
TCP/IP e il modello ISO-OSI
TCP Three-way handshake
Conversioni
Address: 123.1.1.1 10010111.00000001.00000001. 00000001Netmask: 255.255.255.0 11111111.11111111.11111111. 00000000
Conversione da Decimale a binario
scrivere il numero 123 su un foglio e tracciare accanto ad esso una linea verticale verso il basso che ci aiuterà nel calcolo.
dividiamo il numero 123 per 2 (ottenendo 61) e scriviamo il resto (1) alla destra della riga).
Il 61 ottenuto lo scriveremo invece sotto al numero precedente (123) e ripeteremo l'operazione fino a che il numero alla sinistra della riga non diventi 1.
A questo punto basta leggere la serie di 1 e 0 ottenuta aggiungendogli zero fino ad ottenere un ottetto di bit.
TCP Three-way handshake
Link Web
Tcp-iphttp://www.tcpipguide.com/http://it.wikipedia.org/wiki/Suite_di_protocolli_Internet
Netmaskhttp://it.wikipedia.org/wiki/Subnet_mask
ssh http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm
Dnshttp://web.mclink.it/MG2508/netbsd/chap-dns.htmlhttp://www.kernel-panic.it/it/openbsd/dns/dns2.html