•Sistemi operativi Il sistema operativo Linux Amministrazione del sistema Giorgio Di Natale <[email protected]> Stefano Di Carlo <[email protected]> Politecnico di Torino Dip. Automatica e Informatica Sistemi Operativi Amministrazione di Sistema 1 Indice • Gestione degli utenti – Cambiare password – Aggiungere un utente • Installare linux – Gestione del disco (partizioni, fdisk, lilo) – Installazione del sistema – Ricompilazione del kernel Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 2 •1 •Sistemi operativi Indice • Gestione degli utenti – Cambiare password – Aggiungere un utente • Installare linux – Gestione del disco (partizioni, fdisk, lilo) – Installazione del sistema – Ricompilazione del kernel Sistemi Operativi Amministrazione di Sistema 3 passwd • Modifica della password di un utente – passwd [login_name] • utenti attivi: – who root tty1 Jul 3 19:25 scott ttyp0 Jul 3 20:06 Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 4 •2 •Sistemi operativi Indice • Gestione degli utenti – Cambiare password – Aggiungere un utente • Installare linux – Gestione del disco (partizioni, fdisk, lilo) – Installazione del sistema – Ricompilazione del kernel Sistemi Operativi Amministrazione di Sistema 5 Creare nuovi utenti • Passi da eseguire per creare un nuovo utente: – Aggiungere un record in /etc/passwd – Creare la home directory – Assegnare la home all’utente – Assegnare i permessi di accesso – Definire i gruppi di appartenenza in /etc/group – E-mail (es. /var/spool/mail/nome in RH7.2) Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 6 •3 •Sistemi operativi /etc/passwd • Il file /etc/passwd contiene la lista degli utenti del sistema, con i relativi dati: – login:pass:uid:gid:user’s name:home_dir:shell • Esempi: – root:P5q015:0:3::/root:/bin/sh – dinatale:xy:10:20:Giorgio:/home/dinatale:/bin/tcsh Sistemi Operativi Amministrazione di Sistema 7 /etc/passwd • Il file /etc/passwd contiene la lista degli utenti del sistema, con i relativi dati: – login:pass:uid:gid:user’s name:home_dir:shell • Esempi: – root:P5q015:0:3::/root:/bin/sh – dinatale:xy:10:20:Giorgio:/home/dinatale:/bin/tcsh Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 ATTENZIONE: il campo uid deve essere univoco 8 •4 •Sistemi operativi Home directory • mkdir /home/dinatale • chown dinatale. /home/dinatale • chmod 700 /home/dinatale Sistemi Operativi Amministrazione di Sistema 9 Home directory • mkdir /home/dinatale • chown dinatale. /home/dinatale • chmod 700 /home/dinatale Il punto significa che chown modifica anche il gruppo della directory, utilizzando quello definito in /etc/passwd Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 10 •5 •Sistemi operativi /etc/group • group:pwd:gid:user_list • Esempi: – root::0:root user::20:root,dinatale webadmin::100: NOTA: la passwd va settata con gpasswd, e permette di cambiare gruppo con newgrp (introducendo la passwd); è però molto più pratico porre l’utente in /etc/group come qui riportato Sistemi Operativi Amministrazione di Sistema 11 Indice • Gestione degli utenti – Cambiare password – Aggiungere un utente • Installare linux – Gestione del disco (partizioni, fdisk, lilo) – Installazione del sistema – Ricompilazione del kernel Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 12 •6 •Sistemi operativi Partizioni • Linux richiede almeno due partizioni – sistema – swap • Linux è in grado di gestire più sistemi operativi Sistemi Operativi Amministrazione di Sistema 13 Scenario /dev/hda1 Windows Partizione Windows /dev/hda2 Linux root Linux (sistema) /dev/hda3 Linux /home /dev/hda4 swap Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 Linux (utenti) Linux (swap), 64MB 14 •7 •Sistemi operativi Strumenti per il partizionamento • • • • fdisk (dos) fdisk (linux) fips Partition Magic Sistemi Operativi Amministrazione di Sistema 15 Formattazione • • • • mkswap -c /dev/hda4 33280 swapon /dev/hda4 mke2fs -c /dev/hda2 1200000 mke2fs -c /dev/hda3 1600000 -c controlla i bad block Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 16 •8 •Sistemi operativi Il file system logico e quelli fisici • Il file system è in realtà un insieme di file system • I file system possono essere ``collegati'' in modo logico. Questo collegamento è detto mount • Il mount permette di vedere file system diversi (anche su dischi fisici diversi) come un unico albero di direttori (unica root) • Il mount di un file system può essere cancellato (umount). Sistemi Operativi - 17 Amministrazione di Sistema Mount: sintassi • mount -t <type> <device> <directory> • Esempio: – mount -t msdos /dev/fd0 /mnt/dos Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 18 •9 •Sistemi operativi Linux Loader (LiLo) • Consente il bootstrap con Linux o Windows • Configurazione in /etc/lilo.conf # Global boot = /dev/hda; delay = 50 (decimi di secondo) # DOS section other = /dev/hda1; label = DOS; table = /dev/hda # LINUX image = /vmlinuz; root = /dev/hda3 label = linux; read-only Sistemi Operativi 19 Amministrazione di Sistema Indice • Gestione degli utenti – Cambiare password – Aggiungere un utente • Installare linux – Gestione del disco (partizioni, fdisk, lilo) – Installazione del sistema – Ricompilazione del kernel Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 20 •10 •Sistemi operativi Installare Linux • Per il bootstrap sono necessari due dischetti: – Il boot disk contiene il kernel del sistema operativo – Il root disk contiene l’immagine della partizione di root necessaria per l’installazione Sistemi Operativi Amministrazione di Sistema 21 Installare Linux (cont) • È importante scegliere le immagini giuste per il proprio hardware • Le distribuzioni di Linux forniscono programmi (MSDOS) per creare boot e root disk (ad esempio rawrite.exe) Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 22 •11 •Sistemi operativi Installare Linux (cont) • Si esegue il bootstrap del sistema usando il boot disk ed il root disk • Si ottiene una copia minimale di Linux che usa un root filesystem interamente in RAM • Utilizzando l’utente root si può partizionare l’hard disk • Si procede quindi al setup del sistema Sistemi Operativi Amministrazione di Sistema 23 Indice • Gestione degli utenti – Cambiare password – Aggiungere un utente • Installare linux – Gestione del disco (partizioni, fdisk, lilo) – Installazione del sistema – Ricompilazione del kernel Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 24 •12 •Sistemi operativi Modifica dei sorgenti • E’ possibile modificare il sorgente del kernel di Linux • E’ un’operazione critica e richiede molta esperienza Sistemi Operativi Amministrazione di Sistema 25 Configurazione del sistema • In questa fase si dice quali componenti devono essere inclusi nel sistema (es: scheda audio, tipo di scheda video, …) • Questa operazione consente di settare alcune #define nei sorgenti • Quando il sistema sarà compilato, verranno inseriti solamente i driver richiesti Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 26 •13 •Sistemi operativi Configurazione del sistema (cont) cd /usr/src/linux make menuconfig [ make xconfig ] Sistemi Operativi Amministrazione di Sistema 27 Compilazione cd /usr/src/linux make dep make clean make zImage [ make bzImage ] make modules make modules-install Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 28 •14 •Sistemi operativi Compilazione cd /usr/src/linux make dep make clean Crea i vari makefile make zImage nelle sottodirectory [ make bzImage ] make modules make modules-install Sistemi Operativi Amministrazione di Sistema 29 Compilazione cd /usr/src/linux make dep make clean make zImage Vengono cancellati tutti [ make bzImage ] i file binari rimasti da make modules precedenti compilazioni make modules-install Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 30 •15 •Sistemi operativi Compilazione cd /usr/src/linux make dep make clean make zImage [ make bzImage ] Compila il sistema make modules operativo make modules-install Sistemi Operativi Amministrazione di Sistema 31 Compilazione cd /usr/src/linux make dep make clean make zImage [ make bzImage ] make modules Il formato di questo file make modules-install è più compresso rispetto al precedente Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 32 •16 •Sistemi operativi Compilazione cd /usr/src/linux make dep make clean make zImage Compila i moduli [ make bzImage ] make modules make modules-install Sistemi Operativi Amministrazione di Sistema 33 Compilazione cd /usr/src/linux make dep make clean make zImage [ make bzImage ] Installa i moduli make modules make modules-install Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 34 •17 •Sistemi operativi Risultato della compilazione • Se non si sono verificati errori, il file binario è creato nella directory: /usr/src/linux/arch/i386/boot/zImage Sistemi Operativi Amministrazione di Sistema 35 Installazione • Per rendere attivo il nuovo kernel, si deve usare lilo • Si deve modificare il file di configurazione lilo.conf Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 36 •18 •Sistemi operativi Lilo.conf # LILO Configuration file # Global section boot = /dev/hda delay = 50 # New Linux Kernel image = /vmlinuz root = /dev/hda3 label = linux read-only # Old Linux Kernel image = /vmlinuz.old root = /dev/hda3 label = linuxold read-only Sistemi Operativi Amministrazione di Sistema 37 Attivazione del nuovo sistema • mv /vmlinuz /vmlinuz.old • cp /usr/src/.../zImage /vmlinuz • lilo Sistemi Operativi Amministrazione di Sistema •G. Di Natale, S. Di Carlo - v. 1 38 •19