Il sistema operativo Linux Amministrazione del sistema Indice

•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