Laboratorio di Reti di Telecomunicazioni LA

Documenti analoghi
Laboratorio di Reti Locali e Geografiche

File System Linux Comandi Base per orientarsi con la Bash

SHELL: File e Filesystem

Corso di avvicinamento al Software Libero. Lunedi 23 Gennaio

Realizzato da UniversiBO e Gruppo Linux Ingegneria Bologna. GNU/Linux - Incontri aperti Pagina 1

Elementi di amministrazione di un sistema LINUX

Corso di Sistemi Operativi I/II. Introduzione a Linux. Il File System. Ruggero Donida Labati

3/22/11 Prof. Pizzutilo, dott. Novielli

Introduzione a LINUX. Ambiente utilizzato: LINUX

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

Utenti e gruppi. Ogni utilizzatore di UNIX ha associato: Nomeutente nome alfanumerici UID identità numerica

I.S. Sobrero. Dipartimento di Informatica. Utilizzo. 16/02/2007 Marco Marchisotti

Utenti e Permessi. Andrea Bontempi. Corsi Linux POuL

GNU/Linux Concetti di base

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

Introduzione a LINUX

LABORATORIO DI SISTEMI OPERATIVI

Primo Avvio. MVux. Primo avvio. Nicola Corriero

SOMMARIO. Ambiente Linux. Come nasce UNIX. Cronologia di UNIX 1. Storia dei sistemi *NIX Caratteristiche di Linux

Editor, Utenti e Permessi Insegnamento di Sistemi Operativi di Rete Master Universitario in Tecnologie Internet

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini

Sequenza di avvio di Linux:

Installazione di un sistema GNU/Linux

Organizzazione di Sistemi Operativi e Reti

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

GNU/Linux Concetti di base

La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;

La struttura del Filesystem Linux

Corso di Informatica

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D

Fondamenti di GNU/Linux

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 3. Gestione utenti (prosecuzione) MBR e GPT Partizioni

Corso di avvicinamento al Software Libero. Lunedi 30 Gennaio

Provare e installare Linux

LABORATORIO DI SISTEMI OPERATIVI

Sistemi Operativi e informatica 1

Linux / Unix: la shell. utenti e gruppi, shell, comandi

Seminari Quota - Utilizzi e Implementazione -

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013

FILE SYSTEM 2. I-nodes (o Inodes)

Introduzione all uso dei laboratori aka Linux basics.

Mini Corso LUG Govonis. Installare GNU/Linux. Versione Slides: 1.0.1

Introduzione ai sistemi UNIX/Linux. Introduzione ai sistemi UNIX/Linux

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell

Permessi base e speciali in Unix-Linux

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini Daniel Cesarini

Introduzione ai sistemi UNIX/Linux

Uso del terminale in ambiente UNIX

Lab. di Sistemi Operativi

Corso base GNU/Linux Latina Linux Group. Sito web: Mailing list:

Sistemi Operativi. Esercitazione 12. Corso di Laurea Triennale in Ingegneria Informatica.

Cos'è Linux. Un sistema operativo : un insieme di programmi necessari per il funzionamento del computer e per il funzionamento di altri programmi.

Introduzione ai sistemi UNIX/Linux

Introduzione all uso dei laboratori aka Linux basics. October 23, 2013

Shell di Linux e Comandi Utente

Esempio di domande sul file system

Codice Corso: UNX010. Durata: 3 giorni

LINUX System Administrator

Accesso a Linux. E Mumolo - DIA

Sistema operativo. Avere un architettura multi-core è un vantaggio

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Utenti. Il cuore del sistema di gestione degli utenti si trova nei file. Anche altri file sono (più o meno) importanti in questo processo:

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Daniele Migliorini Vanessa Gardellin & Sara Lioba Volpi

L ambiente UNIX/Linux. Comandi UNIX & Linux (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Basi di Linux per GRASS. Cartografia numerica e GIS

Utente. Sistemi operativi 2003/2004. /etc/passwd

Processi. Introduzione. Effective user/group id. Fork

Lezione XII.IV Gestione dei file Uso della shell I permessi di accesso

File System. File system gerarchico. Proteggere la propria home directory ... / = Root nodi interni: directory foglie: directory vuote o file

ORGANIZZAZIONE del FILE SYSTEM SISTEMA OPERATIVO UNIX FILE SYSTEM. FILE astrazione unificante del sistema operativo

Gestione Utenti & Permessi

Luglio 1991 Nasce Linux da un progetto Universitario di Linus Benedict Torvalds. Numerose distribuzioni (Debian, SUSE, Red Hat, Slackware, UBUNTU, ecc

Linux e la shell Bash

Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica

Corso di avvicinamento al Software Libero. Lunedi 23 Gennaio

Introduzione a Linux Lezione 3 Il file system

Linux: Organizzazione filesystem

Lezione 2: Comandi avanzati della Shell di Unix

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Sistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini.

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio

File System Unix. Generalità

Introduzione al corso. Laboratorio di Telecomunicazioni (6 CFU) Corso di Laurea in Ingegneria dell Informazione

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Sequenza di avvio di Linux:

Shell. Una shell di comandi ci consente, dunque, di eseguire tutte le operazioni di cui abbiamo bisogno!

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco

Laboratorio di Informatica Generale I UD Prima esercitazione

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

Introduzione...xiii. CAPITOLO 1- L ESSENZA DI UNIX... 1 Sezione A - Primi passi Introduzione ai sistemi operativi... 2

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Ca ra tteristiche dei sistem i GN U/L inux. Struttura di un sistema GNU/Linux Il filesystem La shell

per ospitare Linux e Windows

Linguistica Computazionale: esercitazioni

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell

Transcript:

Laboratorio di Reti di Telecomunicazioni LA A.A. 2005/2006 Walter Cerroni Il corso Complemento pratico/applicativo dei corsi di Reti di Telecomunicazioni Obiettivo: effettuare esperienze didattiche di installazione e configurazione di servizi di rete basati su TCP/IP in ambienti operativi di tipo public-domain Risultato: acquisire parte delle competenze pratiche di un amministratore di rete 2 1

System and Network Administrator Amministratore dei sistemi informativi di un azienda o di un ente ha il controllo totale del sistema utente root nel mondo Linux/Unix utente administrator nel mondo Windows spesso non basta una persona sola Cosa deve fare: Pianificare la rete (apparati, topologia, cablaggio) Dotarla di connettività con l esterno (Internet) hardware Acquisire e gestire attrezzature hardware Applicare una strategia di recupero dai guasti Installare e aggiornare il sistema operativo Installare e aggiornare il software applicativo software Installare e configurare servizi di rete Gestire l accesso degli utenti Rendere sicuro il sistema e monitorarlo costantemente 3 Scelta degli strumenti di lavoro software Occorre un sistema operativo adatto all ambiente di rete Unix/Linux Multiutente (multiuser) Concorrente (multitasking) Tradizionalmente adottato per gestire/fornire servizi di rete Ne esistono distribuzioni sia commerciali che libere Disponibilità di pacchetti software open-source Windows Server Recentemente evoluto e migliorato Molte funzionalità equivalenti a quelle del mondo Unix/Linux Richiede l acquisizione di licenze software 4 2

Programma del corso Introduzione al sistema operativo Linux Cenni sui comandi di base Linux Configurazione interfacce di rete, proxy ARP, DHCP IP forwarding, firewall e NAT (iptables) Studio e configurazione di una implementazione opensource di un router (click modular router + quagga) Configurazione di VPN con protocollo IPsec Gestione dei servizi applicativi e amministrativi di rete Configurazione di un server web (Apache) TUTTO TRAMITE LINEA DI COMANDO 5 Conoscenze richieste Reti di Telecomunicazioni LA (tutti) Ethernet IP ARP TCP/UDP Reti di Telecomunicazioni LB (chi lo ha nel piano di studi) instradamento IP ICMP DHCP Firewall NAT VPN HTTP Tecniche di crittografia e autenticazione 6 3

Svolgimento lezioni/esercitazioni Lezioni introduttive in aula Esercitazioni in laboratorio Lab. di Elettronica e Telecomunicazioni (via Rasi) 18 PC Linux distribuzione open-source Fedora tutti su rete privata condivisa 192.168.8.0/24 a due a due su reti private punto-punto 10.0.0.X/30 rete fisicamente separata dagli altri lab all avvio del boot loader selezionare l opzione Lab. Reti TLC accesso tramite username e password locali, forniti dal docente via mail modifiche della configurazione IP rendono impossibile l autenticazione di rete home directory locale 7 Materiale didattico e testi consigliati Lucidi proiettati a lezione disponibili sulla home page del corso http://deisnet.deis.unibo.it Didattica II Facoltà Lab. Di Reti di TLC LA Per approfondimenti: Comandi man e info Documentazione on-line suggerita dal docente Manuali del sistema operativo Linux 8 4

Informazioni Altre informazioni e avvisi sulla home page del corso Ricevimento studenti mercoledì: 11.00-13.00 via Venezia Per contattare il docente wcerroni@deis.unibo.it 0547 339207 051 2093089 Esame finale prova pratica al calcolatore 9 Introduzione al S.O. Linux e comandi di base A.A. 2005/2006 Walter Cerroni 5

Sistema operativo Linux Linux è nato nel 1991 dal progetto di uno studente dell'università di Helsinki, Linus Torvalds, che aveva come obiettivo l implementazione su microprocessori i386 di un S.O. multiutente e concorrente, simile a Unix. Linux ha adottato la GNU General Public License (GPL), un contratto di licenza d'uso del software libero (free) che permette a chiunque di modificare e distribuire il software stesso a seconda delle proprie esigenze. Grazie alla libera disponibilità del codice sorgente, una vasta comunità di utenti e sviluppatori si è subito creata attorno al sistema Linux e alle relative applicazioni. Oggi è diventato uno dei sistemi operativi più diffusi, nonché il prodotto di punta del mondo open-source. 11 Distribuzioni Linux Linux è disponibile oggi sottoforma di diverse distribuzioni. Ogni distribuzione aggiunge al kernel tutto il software necessario per avere un sistema operativo completo di applicativi e servizi. Debian: distribuzione completamente sviluppata da una comunità che consta di centinaia di persone in tutto il mondo ed è quella che meglio incarna lo spirito del Free Software. Viene considerata per puristi ed esperti e risulta generalmente meno user-friendly delle altre. Mandriva/Ubuntu: sono user-friendly e probabilmente le più adeguate per un sistema desktop. Red Hat/Fedora: sono tra le più popolari e si adattano bene ad usi diversi (desktop, server, laptop). Slackware: è stata una delle prime distribuzioni. SuSE: un altra distribuzione molto popolare. Per una lista completa delle distribuzioni: http://www.linux.org/dist/index.html 12 6

Installazione di Linux su PC 1. Controllo dell hardware supportato 2. Partizionamento e formattazione del disco rigido 3. Installazione del Boot Loader (LILO, GRUB) 4. Configurazione delle interfacce di rete 5. Scelta della password di root 6. Configurazione dell autenticazione utenti 7. Selezione dei pacchetti applicativi da installare 8. Configurazione di scheda video e monitor E POSSIBILE ESEGUIRE INSTALLAZIONI AUTOMATIZZATE ATTRAVERSO LA RETE 13 Partizioni del disco Necessarie / radice del file system swap spazio per la memoria virtuale (per sistemi recenti da 1 a 2 volte la memoria fisica) Consigliabili a seconda dei casi /var contiene i log e le directory di spool di posta e stampanti /usr contiene gran parte delle applicazioni /home contiene le home directory degli utenti /boot contiene il kernel e i file di avvio /tmp contiene file temporanei Esempi di nomi di unità e/o partizioni: /dev/hda /dev/hdb3 /dev/sda2 /dev/fd0 14 7

Linux File System e mount point Altre importanti directory /bin eseguibili dei comandi usati dagli utenti /dev file che rappresentano i dispositivi /etc file di configurazione di sistema /lib librerie di sistema /mnt mount point di dispositivi vari /opt applicazioni aggiuntive /proc informazioni sui processi di sistema /root home directory dell amministratore /sbin eseguibili dei comandi di sistema Unico file system principale con radice / File system secondari distribuiti su più partizioni e/o unità attraverso i mount point 15 Linux File System e mount point / /home /var /tmp swap 16 8

Esempio 1 Il comando fdisk l <unità> visualizza le partizioni del disco [root@deis76 root]# fdisk l /dev/hda Disco /dev/hda: 40.0 GB, 40000000000 byte 255 testine, 63 settori, 4866 cilindri Unità = cilindri di 16065 * 512 byte Dispositivo Avvio Inizio Fine Blocchi Id Sistema /dev/hda1 * 1 1275 10241406 83 Linux /dev/hda2 1276 1721 3582495 83 Linux /dev/hda3 1722 2167 3582495 83 Linux /dev/hda4 2168 4865 21671685 f Esteso /dev/hda5 2168 2320 1228941 82 Linux swap /dev/hda6 2321 4865 20442681 83 Linux 17 Esempio 2 Il comando fdisk l <unità> visualizza le partizioni del disco [root@deis73 root]# fdisk l /dev/hda Disco /dev/hda: 40.0 GB, 40000000000 byte 255 testine, 63 settori, 4866 cilindri Unità = cilindri di 16065 * 512 byte Dispositivo Avvio Inizio Fine Blocchi Id Sistema /dev/hda1 1 2 16033 de Dell Utility /dev/hda2 * 3 1022 8193150 7 HPFS/NTFS /dev/hda3 1023 3317 18434587 f Esteso /dev/hda4 3318 4866 12442342 83 Linux /dev/hda5 1023 2042 8193118 b Win95 FAT32 /dev/hda6 2043 2173 1052226 82 Linux swap /dev/hda7 2174 3317 9189148 83 Linux 18 9

Esempio 3 Il comando df visualizza le partizioni, i rispettivi mount point e l'ammontare di spazio libero su disco [root@deis76 root]# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda1 10080488 307968 9260452 4% / /dev/hda6 20121812 6248500 12851180 33% /home /dev/hda3 3526204 1962660 1384420 59% /usr /dev/hda2 3526204 331488 3015592 10% /var 19 Esempio 4 Il file /etc/fstab elenca tutti i file system con i rispettivi mount point [root@deis73 root]# cat /etc/fstab /dev/hda4 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda7 /home ext3 defaults 1 2 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda5 /win vfat defaults 0 0 /dev/hda6 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/cdrom1 /mnt/cdrom1 iso9660 noauto,owner,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 20 10

Esempio 5 Il comando mount mostra i file system attualmente montati [root@deis73 root]# mount /dev/hda4 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) /dev/hda7 on /home type ext3 (rw) none on /dev/shm type tmpfs (rw) /dev/hda5 on /win type vfat (rw) 21 Inizializzazione del sistema init è il primo processo che parte Livelli di esecuzione (runlevels): 0 halt 1 single-user 2 multi-user senza servizi di rete 3 multi-user 4 non usato 5 multi-user con interfaccia grafica 6 reboot /etc/inittab è il file di configurazione /etc/rc.d/ contiene gli script di inizializzazione dei servizi relativi a ciascun livello 22 11

Comandi di base per il file system ls cd pwd mkdir cp rm mv chown chmod ln cat/more/less elenca file cambia directory corrente mostra la directory corrente crea directory copia rimuovi sposta cambia il proprietario cambia i permessi crea un collegamento mostra il contenuto di un file 23 Gestione dei permessi dei file Ogni file (dati, programma o directory) ha un proprietario (owner) appartenente ad un gruppo di utenti (group) e presenta determinati permessi di accesso visualizzabili tramite il comando ls l nove bit determinano i permessi di lettura, scrittura ed esecuzione (r,w,x) per il proprietario, il gruppo del proprietario e per gli altri utenti del sistema (u,g,o) tre bit ulteriori fanno riferimento a speciali modalità di accesso SUID (Set User ID) si accede al file utilizzando l identificativo del proprietario (UID) SGID (Set Group ID) si accede al file utilizzando l identificativo del gruppo a cui appartiene il proprietario (GID) Sticky se applicato ad una directory, i file contenuti in essa non possono essere cancellati o rinominati da un utente diverso dal proprietario, pur avendo il permesso di scrittura nella directory 24 12

Gestione dei permessi dei file chmod permette di modificare tali permessi (2 modalità) u g o chmod 0755 file rwx r-x r-x chmod 0644 file rw- r-- r-- chmod 0400 file r-- --- --- chmod 4555 file r-s r-x r-x (SUID) u g o u g o rwx r-x r-x chmod u-w file r-x r-x r-x r-x r-x r-x chmod go-x file r-x r-- r-- rw- r-- r-- chmod a+x file rwx r-x r-x r-x r-x r-x chmod u+s file r-s r-x r-x 25 Gestione di Utenti e Gruppi locali useradd crea un account utente userdel elimina un account utente usermod modifica un account utente passwd cambia password groupadd crea un gruppo groupdel elimina un gruppo groupmod modifica un gruppo Esempio: useradd -g utenti -d /home/newusr -p newpasswd -s /bin/bash -c Nuovo Utente newusr 26 13

Database utenti locali /etc/passwd contiene l elenco degli account e relative informazioni newusr:x:503:100:nuovo Utente:/home/newusr:/bin/bash /etc/shadow contiene l elenco delle password cifrate e la loro scadenza newusr:$1$sppz2wcbqrciuu:12145:-1:99999:-1::: /etc/group contiene l elenco dei gruppi utenti:x:100:oldusr1,oldusr2,newusr 27 Home directory e inizializzazione Shell All atto della creazione, la home directory viene riempita con il contenuto di /etc/skel/ Quando si avvia una shell, vengono eseguiti degli script di inizializzazione Bash login: /etc/profile e poi ~/.bash_profile oppure /etc/profile e poi ~/.bash_login oppure /etc/profile e poi ~/.profile Bash logout: ~/.bash_logout Bash interattiva: ~/.bashrc 28 14

Quote del file system (1) E possibile limitare superiormente lo spazio su un file system a disposizione di ciascun utente 1. In /etc/fstab aggiungere l opzione usrquota al file system considerato e aggiornare il mount point /dev/hda7 /home ext3 defaults,usrquota 1 2 # mount /home -o remount 2. Creare il file aquota.user che descrive le quote # quotacheck uv /home 29 Quote del file system (2) 3. Abilitare/disabilitare le quote # quotaon uv /home # quotaoff uv /home 4. Configurare il valore delle quote # edquota user 5. Controllare l utilizzo delle quote # quota -u user # repquota /home 30 15

Monitoraggio last mostra l elenco degli accessi più recenti who mostra gli utenti attualmente connessi ps mostra lo stato dei processi attivi top mostra i processi in tempo reale kill termina un processo du mostra le dimensioni di un file system df mostra lo spazio disponibile su disco /var/log contiene i registri (log) di sistema messages log degli eventi di base secure log degli eventi inerenti questioni di sicurezza httpd/access_log log degli accessi al server web httpd/error_log log degli errori di accesso al server web 31 Deleghe di amministrazione Se un file eseguibile di proprietà di root ha il bit SUID settato, chiunque lo esegua, lo farà assumendo l identificativo di root (con pieni poteri) non è consentito un uso selettivo sulla base dell utente delegato Per una gestione più efficiente delle deleghe si può utilizzare il comando sudo (superuser do) permette a determinati utenti (e solo a loro) di eseguire determinati comandi (e solo quelli) da determinati host (e solo da quelli) con i privilegi di amministratore consente di monitorare l attività dei delegati inserendo nel registro di sistema (syslog) tutte le chiamate a sudo si impostano le deleghe tramite il file di configurazione /etc/sudoers, che tipicamente è accessibile solo a root e che deve essere modificato tramite l editor preposto visudo 32 16

Invocazione di comandi tramite sudo Gli utenti delegati possono eseguire comandi con i diritti di root facendoli precedere dal comando sudo e rispettando le restrizioni specificate in /etc/sudoers La prima volta che si invoca un comando tramite sudo, il programma chiede di inserire la password dell utente delegato per effettuarne l autenticazione, dopodiché controlla che la sintassi del comando da eseguire sia coerente con quanto specificato in /etc/sudoers Da quel momento in poi, ogni altra invocazione tramite sudo non richiede la password, a meno che non sia trascorso un certo intervallo di tempo (tipicamente 5 minuti) dall ultima invocazione 33 Note operative sudo l visualizza l elenco dei comandi che è possibile eseguire tramite sudo molti dei comandi eseguibili solo da root si trovano nelle directory /sbin e /usr/sbin, che in genere non sono incluse nel PATH degli utenti normali verificare il valore della variabile d ambiente con echo $PATH sudo b <comando> esegue tramite sudo un comando in background scadenza della password per sudo : 180 min. mc (Midnight Commander) utile per esplorare il filesystem ed editare file di testo xemacs: editor di testo consigliato per editare file di testo scrivibili solo da root tramite sudo: sudo b xemacs <nomefile> 34 17

Strumenti di monitoraggio Uno strumento indispensabile è l analizzatore di protocollo (o packet sniffer) cattura i pacchetti in transito e ne mostra i dettagli richiede i diritti di root (usare sudo) tcpdump: analizzatore di protocollo a linea di comando ethereal: analizzatore di protocollo con interfaccia grafica Consultazione dei log di sistema basta un visualizzatore di file di testo comandi less o more da linea di comando comando tail per visualizzare la fine del file tail n N <nomefile> viualizza le ultime N righe del file tail f <nomefile> visualizza le ultime righe e continua a mostrare quelle aggiunte in coda in tempo reale 35 Accesso a PC remoti attraverso la rete Per accedere ad un altro host da remoto, usare il comando ssh <username>@<ip_address> (omettendo lo username si assume quello corrente) l opzione X permette il tunneling delle applicazioni grafiche Per copiare un file locale su un altro host, usare il comando scp <filename> <username>@<ip_address>:<path/remote_filename> Il comando ping <host> permette di verificare la raggiungibilità di un host (con eccezioni che vedremo) 36 18