Sei sulla pagina 1di 22

LINUX

System Administrator

Questi lucidi sono stati prodotti sulla base dei seguenti riferimenti:
Corso UNIX di Roberto Polillo dell Universit di Milano
Corso Unix di Marco Liverani dell Universit di Roma
Corso di Laboratorio di sistemi Operativi Dip. Informatica dell Universit di Bari a
cura di De Carolis, Pizzutilo, Bianchi.
Corso di Linux di Paolo Torroni

LINUX sys admin.


UdB Dip. Informatica

System administrator
Root = superutente che ha il controllo totale del sistema

Cosa deve fare:

Installare e aggiornare il sistema operativo


Creare il file system
Installare e aggiornare il software applicativo
Monitorare l utilizzo del file system
Gestire l accesso degli utenti
Effettuare il back-up dei dati importanti
Installare e configurare servizi di rete
Rendere sicuro il sistema e monitorarlo costantemente

Operazioni consentite solo al superuser


Montare e smontare il filesystem
Creare device file
Modificare l orologio del sistema e Cambiare le propriet di un file
Aumentare i limiti d uso delle risorse e Definire le priorit dei processi
Definire l host name del sistema e Configurare le interfacce di rete
Spegnere il sistema
LINUX sys admin.
UdB Dip. Informatica

Cosa il FS
E quella parte del Sistema Operativo che fornisce i meccanismi di
accesso e memorizzazione delle informazioni (programmi e dati)
allocate in memoria di massa.
Realizza i concetti:
di file: unit logica di memorizzazione
di directory: insieme di file (e directory)
di partizione: insieme di file associato ad un particolare
dispositivo fisico (o porzione di esso)

N.B. Le caratteristiche di file, direttorio e partizione sono


del tutto indipendenti dalla natura e dal tipo di dispositivo
utilizzato.
LINUX sys admin.
UdB Dip. Informatica

Strutture dei dischi


La visione dellutente di un unico file system logico pu essere
fisicamente realizzata da pi file system, situati su dispositivi
fisici distinti.
La partizione di un unico dispositivo fisico in pi file system
presenta numerosi vantaggi:

File system diversi possono supportare un diverso utilizzo.


Aumento dellaffidabilit.
Lefficienza pu essere migliorata variando i parametri del file system.
Si evita che un programma utilizzi tutto lo spazio disponibile.
Si velocizza la ricerca ed il ripristino su/da nastri di backup.

Il file system root sempre disponibile su disco.


Altri file system possono essere montati cio integrati nella
gerarchia di directory del root file system.
LINUX sys admin.
UdB Dip. Informatica

Associazione di un file system logico ai


dispositivi fisici

LINUX sys admin.


UdB Dip. Informatica

Layout del disco


Descrive lo stato del file
system complessivo:
n. di blocchi complessivo,
n. di inode,
n. di blocchi liberi,

Label
Boot area
Primary superblock
Cylinder Group 1 summary Block

Blocco logico
multiplo di blocchi
fisici

Inode Table
Data Block area

Copia di backup del


primary superblock

Ogni disco contiene:


Una label con la
tabella delle partizioni
Una boot area
Un superblock (con
copia di backup)
N gruppi di cilindro

Backup Superblock
Cylinder Group 2 summary Block

Inode Table

Un insieme di
gruppi di
cilindro pu
essere associato
ad un
filesystem Unix

Data Block area


LINUX sys admin.
UdB Dip. Informatica

Blocchi e Frammenti in LINUX ext2 FS

Lo spazio su disco gestito dal sistema operativo in blocchi e frammenti di blocchi.


In ext2, i frammenti e i blocchi devono avere la stessa dimensione.
I file possono essere di qualsiasi dimensione, perci possono non terminare sul
margine di un blocco. Cos per ogni file una parte dell'ultimo blocco viene sprecata.
Assumendo che la dimensione dei file sia casuale, c' approssimativamente mezzo
blocco sprecato per ogni file sul disco (``frammentazione interna' ).
Ad esempio il comando df i fornisce lo stato del filesystem sui dischi in linea in
termini di i-node (files) (con parametro k si avrebbe tutto espresso in kbytes):
Ad es:
Filesystem
Inodes IUsed IFree
%IUsed Mounted on
/dev/hda3
64256 12234 52022
19%
/
/dev/hda5
96000 43058 52942
45%
/var
Ci sono circa 12000 file su / (root) e circa 44000 file su /var. Con dei blocchi grandi 1 KB, circa 6 +
22 = 28 MB di spazio su disco sono sprecati nei blocchi di coda dei file.
Se ext2 avesse scelto una dimensione del blocco di 4 KB, si sarebbe sprecato uno spazio 4 volte
superiore.
Tuttavia il trasferimento dati pi veloce per blocchi di dati grossi e contigui. per questo che ext2
prova a riservare spazio in unit di 8 blocchi contigui per i file in crescita. Lo spazio riservato e
non utilizzato viene rilasciato quando il file viene chiuso, pertanto non c' spreco di spazio.
LINUX sys admin.
UdB Dip. Informatica

Struttura logica del disco


Nella operazione di formattazione il disco pu essere diviso in pi
partizioni. Ciascuna partizione vista dal Sistema Operativo come un disco
logico (con disk device completamente separati)

a Root ( / )
c
(partizione di
overlapping)

Partizione = serie
continua di blocchi

b Swap
d /export/home
e /export/swap
f /usr
LINUX sys admin.
UdB Dip. Informatica

Il disco e le partizioni

Il processo di formattazione (comando format) scrive l indirizzo e segna i


piatti dei dischi su cui definire ogni settore.
Una volta che il disco stato formattato, il disco viene diviso in partizioni
(con il comando fdisk). Ci permette di trattare il disco come un gruppo di
aree di dati indipendenti invece di un unico insieme di blocchi.
Il device driver conosce la superficie fisica dell intero disco, mentre gli altri
software lavorano tramite l astrazione delle partizioni.
Le partizioni permettono di effettuare il dump con pi semplicit, proteggono
lo spazio di disco degli utenti da sconfinamenti di altri, migliorano le
prestazioni (pi rapido accesso) e confinano danni potenziali di programmi e
dati che crescono rapidamente ed in modo incontrollato.
La tabella delle partizioni risiede nella label del disco.
Le partizioni sono distinte e separate dal punto di vista concettuale, ma nel
disco viene anche creata una partizione ( c ) di overlapping che l immagine
di tutto il disco per permettere l accesso al disco attraverso un normale
device file dei comandi a livello utente (per scrivere una disk label o duplicare
il contenuto del disco in un disco di backup).

Per installare un filesystem su una partizione del disco si


deve utilizzare il comando mkfs (che crea un filesystem
ext2fs)
LINUX sys admin.
UdB Dip. Informatica

I File System
Ogni SO ha il proprio filesystem e non sempre questi sono tra loro
compatibili:

Win 95 (Osr2) e Win 98


FAT16, FAT32
Win NT FAT16, NTFS
Linux FAT16, FAT32, NTFS,

Durante la fase di avvio della macchina (boot) per prima cosa vengono
consultate le informazioni che risiedono nel bios del PC.
Qui viene indicata la posizione del Master Boot Record (MBR) che prende
il controllo della macchina e cerca nella tabella delle partizioni la prima
partizione contrassegnata come attiva.
Da essa carica il Boot Record (BR) specifico del SO che vi risiede e lo
esegue. Il BR contiene il codice necessario per caricare tutto il resto del SO.

LINUX sys admin.


UdB Dip. Informatica

File system
Il File System dunque un astrazione usata dal Kernel per rappresentare
ed organizzare la memoria di massa del sistema.
Il Kernel integra queste risorse sotto una singola gerarchia che inizia
con / (root) e si dirama verso il basso in un certo numero di sottodirectory
(che vengono attaccate all albero dei file con il comando mount e
staccate col comando umount )

Root la directory madre cui sono associate per default un set minimo
di sottodirectory (/etc, /dev, /bin o /sbin, /tmp, /unix,)

/usr qui risiedono la maggior parte dei programmi standard, oltre ai


manuali in linea e le librerie

/var con le directory di spool, i file di log, le informazioni di account,


ed altri file di dimensioni variabili (mail server,)

/home con le directory degli utenti


LINUX sys admin.
UdB Dip. Informatica

Associazione descrittore di file inode


Le system call che fanno riferimento a file aperti indicano
il file passando come argomento un descrittore di file.
Il descrittore di file viene utilizzato dal kernel come indice
alla tabella dei file aperti per il processo in corso.
Ogni elemento della tabella contiene un puntatore a una
struttura di file.
A sua volta questa struttura di file punta sullinode.
La tabella dei file aperti ha una lunghezza fissa che pu
essere impostata soltanto nella fase di boot, quindi il
numero di file aperti simultaneamente nel sistema ha un
limite fissato.
LINUX sys admin.
UdB Dip. Informatica

Tabelle Unix

TABELLA DEI
DESCRITTORI DI FILE
UTENTE
Tabella associata ad ogni
processo utente.
La tabella contiene una riga
per ogni file aperto dal
processo con indirizzo della
riga della tabella globale (dei
file aperti) relativa al file.

TABELLA GLOBALE DEI FILE


APERTI
Tabella del sistema operativo che
contiene una riga per ogni file aperto
nel sistema.
Ogni riga contiene l indirizzo del
corrispondente i-node (nella tabella
degli i-node), l indicazione della
posizione corrente del file ed il
contatore del numero di riferimenti
da parte dei processi a questo file.

disco

TABELLA DEGLI INODE


Le righe contengono la
copia in memoria degli
i-node del volume per
realizzare una
maggiore efficienza

LINUX sys admin.


UdB Dip. Informatica

Il FS Ext2
Il FS Extended 2 (ext2) quello pi diffuso in Linux, quello che
viene usato normalmente per formattare le partizioni in cui viene
installato il sistema.
Principali caratteristiche di ext2:
Dimensione massima del filesystem
Dimensione massima dei files
Lunghezza massima dei nomi
Fast symbolic links
Supporta ctime, mtime e atime
Spazio riservato per root
Attributi estesi dei files
Parametri modificabili

4 TB
2 GB
255 caratteri
Si
Si
Si
Si
Si

Come tutti i filesystem unix anche l'ext2 organizzato in una


struttura comprendente super_block, inodes, directory e files.
LINUX sys admin.
UdB Dip. Informatica

Super-Block
Lo spazio all'interno di un filesystem unix organizzato logicamente
come un array lineare di blocchi di dimensioni uguali.
Dimensione blocco logico: indipendente dalla dimensione
dei blocchi del dispositivo fisico - di solito di 1024 bytes,
ma pu essere fissata anche in 2048 o 4096 bytes.
Dimensione blocco fisico: su HD il blocco fisico di 512
bytes (quindi un blocco logico occupa di solito 2 blocchi
fisici).
Il fs ext2 descritto da un blocco particolare detto
super_block
memorizzato in posizione fissa all'inizio del fs stesso e ne
descrive le caratteristiche, dimensioni, struttura, stato ecc.
LINUX sys admin.
UdB Dip. Informatica

Super-Block
Sono contenuti tre tipi fondamentali di informazioni:

Caratteristiche del filesystem (dimensioni, struttura, magic number, ecc.) stabilite al momento
della creazione e non possono pi essere modificate, per es. la dimensione dei blocchi, il n.ro di
blocchi, il n.ro di inodes.
Parametri modificabili (maximal mount count, error behaviour, ecc.) possono essere cambiati dal
superuser con il programma tune2fs, che permette di variare ad es. il numero massimo di volte che il fs
pu essere rimontato prima di forzare un fsck automatico, oppure il comportamento in caso di errore.
Un parametro modificabile la % di spazio che pu essere riservata ad un utente privilegiato,
normalmente root. Questo consente al sistema di continuare a disporre di spazio su disco anche quando
il fs si riempie per l'uso smodato degli utenti.
Variabili di stato (file system state, free blocks, mount count, ecc.) descrivono invece lo stato del fs
e vengono aggiornate automaticamente man mano che il fs viene usato, per esempio il numero di
blocchi liberi, lo stato (montato o meno), il numero di volte che esso stato montato, ecc.
Manca informazione sul tipo e sulla struttura fisica del device o della partizione in cui esso
ospitato. Il fs totalmente indipendente da queste informazioni, che sono importanti per poter
accedere fisicamente alla partizione o al device.
Si demanda al device driver tutte le operazioni necessarie per accedere al singolo blocco logico.
LINUX sys admin.
UdB Dip. Informatica

I Cylinder Group
ext2 suddiviso logicamente in pi parti, dette cylinder groups
I cg vengono gestiti come entit separate ed autonome pur facendo parte dello
stesso fs.
Duplice scopo:
1. si vogliono minimizzare le conseguenze di eventuali errori, cio far s che se
alcuni dati di un cg risultano corrotti, il danno resti limitato all'interno del cg
stesso e non si propaghi a tutto il fs.
2. la tendenza a localizzare i files nell'interno delle loro directory per ridurre i
tempi di accesso, cosa che viene ottenuta cercando di allocare inodes e blocchi
nello stesso cylinder group delle directory.
Per ridurre ulteriormente le possibilit che un intero fs venga corrotto a causa di
eventuali errori, sia il super_block che le group descriptor tables vengono
duplicati in ogni cylinder group, come mostrato in figura.

LINUX sys admin.


UdB Dip. Informatica

I Cylinder Group

Se uno dei super_block o group descriptor viene corrotto a causa di errori, esso pu
essere ripristinato a partire da una delle sue copie. Abbiamo quindi una struttura
altamente ridondante che permette il recovery di eventuali errori.
LINUX sys admin.
UdB Dip. Informatica

I Cylinder Group
Lo spazio all'interno del fs gestito separatamente ed
autonomamente per ciascun cylinder-group.
Ciascun cg contiene una block bitmap, che indica quali blocchi del cg
sono stati allocati per files o directories, una inode bitmap, che indica
analogamente quali inode risultano allocati, ed una inode table che
contiene gli inodes appartenenti al cg.
Bitmap organizzata come una sequenza di bits:
ogni bit indica se il corrispondente inode o blocco libero o occupato.
ogni bitmap occupa esattamente un blocco e quindi il numero massimo di
inodes o di blocchi che possono essere contenuti in un cg data dalla dimensione
in bytes di un blocco moltiplicata per 8.
Ad es. un fs con blocchi da 1K 8192 (1024 * 8) blocchi per cg, poich la
block bitmap pu contenere al max 8192 bits.

LINUX sys admin.


UdB Dip. Informatica

Inode
Ad ogni file associata una piccola tabella, detta inode ("index-node"),
contenente
gli attributi del file
gli indirizzi dei primi blocchi del disco su cui memorizzato il file
l indirizzo di un blocco a singola indirezione contenente gli indirizzi di
blocchi a singola indirezione
l indirizzo di un blocco a doppia indirezione contenente gli indirizzi di
ulteriori blocchi di dati su disco
Ogni i-node identificato da un i-number
Gli attributi contenuti nell i-node di un file sono:
Tipo: ordinario, directory, speciale
Posizione: dove si trova
Dimensione: quanto grande
Numero di links: quanti nomi ha
Permessi: chi pu usarlo e come
Creazione: quando stato creato
Modifica: quando stato modificato di recente
Accesso: quando stato l accesso pi recente

LINUX sys admin.


UdB Dip. Informatica

10

Inode
L'inode dunque la risorsa principale di un fs unix.
Ad ogni file o directory associato univocamente un inode che ne
identifica le caratteristiche ed indica dove sono memorizzati
fisicamente i dati.
Tutte le operazioni su un file o una directory vengono effettuate
tramite il suo inode, che contiene tutte le informazioni sul file stesso,
esclusi i dati veri e propri :

LINUX sys admin.


UdB Dip. Informatica

directory
E un file come tutti gli altri, con l'unica differenza che i dati in esso contenuti sono
le informazioni sui files nella directory, e viene pertanto gestito in modo particolare
dal fs e dal kernel.
Ciascuna entry di directory :
un record di lunghezza variabile allineata alla word (4 bytes) contenente solamente il
nome del file ed il suo numero di inode.

Ogni directory ha almeno 2 entry:


. la directory stessa
.. la directory padre

Tutte le altre informazioni sul file non hanno niente a che fare con la directory in cui
esso contenuto e sono pertanto memorizzate nel suo inode.
La directory serve solo a collegare il nome del file col suo inode.
LINUX sys admin.
UdB Dip. Informatica

11

directory
La directory entry di ext2 descritta dalla seguente struttura:
#define EXT2_NAME_LEN 255
struct ext2_dir_entry {
__u32
inode;
/* Inode number */
__u16
rec_len;
/* Directory entry length
*/
__u16
name_len;
/* Name length */
char
name[EXT2_NAME_LEN];
/* File name */
};

LINUX sys admin.


UdB Dip. Informatica

I device file
Il Kernel comunica con le periferiche attraverso file speciali
chiamati device file presenti (creati con mknod o mkfs)
nella directory /dev. Questi file rappresentano il legame tra
periferica e kernel
TIPI di DEVICE
b Block : (per il trasferimento di blocchi prefissati di
caratteri alla volta con il kernel che funge da buffer per tali
device i dischi, il floppy disk, il CDROM,)
c Character o Raw: ( per il trasferimento di diversi caratteri
alla volta senza che il kernel funga da buffer, dato che lo
stesso device svolge questo ruolo ttya,)

LINUX sys admin.


UdB Dip. Informatica

12

/dev
Nome

Descrizione

Dos

/dev/fd0

prima unit a dischetti

A:

/dev/fd1

seconda unit a
dischetti
primo disco fisso
IDE/EIDE
secondo disco fisso (o
CD-ROM) IDE/EIDE
terzo disco fisso (o
CD-ROM) IDE/EIDE

B:

/dev/hda
/dev/hdb
/dev/hdc

/dev/sda
/dev/sdb

primo disco SCSI


secondo disco SCSI

LINUX sys admin.


UdB Dip. Informatica

Creare un filesystem
Per installare un filesystem su una partizione LINUX del disco si deve usare il
comando

mkfs -c <partizione> <dimensione>


Ad es.: mkfs c /dev/fd0 1440
Il filesystem appena creato deve essere montato prima di diventare disponibile
per i processi UNIX
I danni non gravi (inode non referenziati, blocchi di dati indicati come liberi
ma usati in un file, informazioni di superblock sbagliate, ecc) di un
filesystem possono essere riparati con il comando:
e2fsck /dev/ (file sia block che raw (character))
La partizione di root deve sempre essere controllata per prima.
I dischi sono controllati automaticamente al boot con e2fsck p , che esamina i
filesystem locali riportati nel file /etc/fstab e corregge gli eventuali errori.
La directory lost+found viene creata automaticamente quando si definisce un
filesystem e viene usata da e2fsck per le emergenze (quindi non si deve
cancellare)
LINUX sys admin.
UdB Dip. Informatica

13

mkfs
mkfs(8) - Linux man page
NAME

mkfs - build a Linux file system


SYNOPSIS

*mkfs* [ *-V* ] [ *-t* /fstype/ ] [ *fs-options* ] /filesys/ [ /blocks/ ]


DESCRIPTION

*mkfs* is used to build a Linux file system on a device, usually a hard disk partition. /filesys/ is
either the device name (e.g. //dev/hda1/, //dev/sdb2/) or the mount point (e.g. ///, //usr/, //home/)
for the file system. /blocks/ is the number of blocks to be used for the file system.
OPTIONS

*-V*
Produce verbose output, including all file system-specific command that are
executed. Specifying this option more than once inhibits execution of any file
system-specific commands. This is really only useful for testing.
*-t*/ fstype/
Specifies the type of file system to be built. If not specified, the default file system
type (currently ext2) is used.
*fs-options*
File system-specific options to be passed to the real file system builder. Although
not guaranteed, the following options are supported by most file system builders.
*-c*
Check the device for bad blocks before building the file system.
*-l*/ filename/
Read the bad blocks list from /filename/
*-v*
LINUX sys admin.
Produce verbose output.
UdB Dip. Informatica

mount
Un file system deve essere montato prima di diventare disponibile per i
processi del kernel in quello che in gergo si chiama mountpoint (punto di
innesto), che poi non altro che una comune directory vuota.
Al bootstrap viene automaticamente montato su / il root file system
Per identificare le partizioni Linux usa i file situati nella directory /dev.
La system call mount (ed umount) ha due argomenti:
nome di un file ordinario
nome di un file speciale relativo ad un device removibile contenente un file system (fd1,
fd2)

La sintassi dei
comandi mount
ed umount
la seguente:

mount [<opz>] [<dev>] [<dir> mountpoint]


-a (utilizza /etc/fstab per montarli tutti)
-t [no]<tipo-di-fs> [,]
-o <opz-specifiche-di-fs> [,]
es.
mount -t

vfat /dev/fd0 /floppy

umount [<opz>] [<dev>] [<dir>]


es.
umount /mount/cdrom
LINUX sys admin.
UdB Dip. Informatica

14

mount
Per fare in modo di non dover digitare il comando mount ad ogni avvio del O.S.:
Per fare ci si pu agire in tre modi:
1- inserendo la riga insmod vfat all'intemo del file /etc/rc.d/rc.local
2- editando il file /etc/modules.conf
3- Oppure ci si pu affidare alle utility apposite sviluppate dalle varie distribuzioni
(COAS di OpenLinux 2.2, Lisa di OpenLinux 1.3, YaST di SuSE, Linuxconf di
Red Hat).
Il file /etc/fstab contiene l elenco dei file system montati :
nome
/dev/hda3
/dev/hdb1
proc
/dev/hda2
/dev/hda1
/dev/sda
/dev/sda1
/dev/cdrom
roggen.brot.dg:/
/dev/fd0

Innesto
/
/home
/proc
none
/mnt/dosc
/mnt/dosd
/mnt/scsimo
/mnt/cdrom
/mnt/roggen
/mnt/dosa

Tipo
ext2
ext2
proc
swap
vfat
vfat
ext2
iso9660
nfs
vfat

Opzioni Dump Check


defaults 1
1
defaults 0
2
defaults 0
0
sw
quiet,umask=000 0 0
user,noauto,quiet 0 0
user,noauto 0 0
ro,user,noauto 0 0
ro,user,noauto 0 0
user,noauto,quiet 0 0

LINUX sys admin.


UdB Dip. Informatica

Effetto della mount

mount /fd1 /usr/user1!

LINUX sys admin.


UdB Dip. Informatica

15

Uso della mount


Si crea una directory che servir come mount-point:
di solito le directory adibite a questo compito si trovano in /mnt ma nulla vieta
di crearla altrove: mkdir /mnt/floppy
Con il comando
mount /dev/fd0 /mnt/floppy
si monta la partizione fd0 (device di disco floppy) sotto la directory
/
mnt/floppy.
Per vedere tutto quella che c' in questa partizione baster digitare il comando
ls iaf /mnt/floppy
Se in /dev non presente fd0, occorre prima crearlo:
mkfs /dev/fd0 1440

L elenco dei filesystem attualmente in uso (montati durante


l interazione dell utente) contenuto in /etc/mtab

LINUX sys admin.


UdB Dip. Informatica

Aggiungere utenti
Il processo di aggiunta di nuovi utenti realizzato in 6 passi:
Definire l account dell utente nel file /etc/passwd
Definire una password iniziale
Creare la home directory dell utente
Aggiungere l utente nel file /etc/group
Memorizzare le informazioni di accounting
Configurare la quota (lo spazio) sui dischi
Si usa in comando di amministrazione

adduser

LINUX sys admin.


UdB Dip. Informatica

16

GESTIONE DEGLI UTENTI - 1


La gestione degli utenti comprende le operazioni di aggiunta, modifica,
cambio password di tutti gli utenti che possono accedere in shell alla
macchina.
Per aggiungere a mano un utente al sistema si deve (come root):
Editare /etc/passwd aggiungendo una riga per il nuovo utente;
Editare /etc/group aggiungendo un nuovo gruppo per il nuovo utente (non
indispensabile);
Se esiste il file /etc/shadow editarlo aggiungendo una nuova riga per l'utente;
Creare la home del nuovo utente: mkdir /home/nomeutente;
Ricreare l'ambiente base nella nuova home: cp /etc/skel /home/nomeutente;
Modificare il proprietario della home: chown -R nomeutente:nomegruppo /
home/nomeutente;
Modificare i permessi della home: chmod -700 /home/nomeutente;
Modificare la password dell'utente: passwd nomeutente
Tutto quanto viene automaticamente fatto con comandi e tool di amministrazione

LINUX sys admin.


UdB Dip. Informatica

GESTIONE DEGLI UTENTI 2


Comandi principali
useradd oppure adduser [opzioni] nomeutente
Aggiunge un utente, possibile tramite le varie opzioni disponibili modificare
tutte le impostazioni di default di inserimento utenti.
userdel [opzioni] nomeutente
Elimina un'utente, da sottolineare che la sua home con il suo contenuto non
viene cancellata.
groupadd [opzioni] nomegruppo
Aggiunge un gruppo.
passwd [nomeutente]
Modifica la password di un'utente
chsh [opzioni]
Cambia il tipo si shell disponibile al login di un'utente

LINUX sys admin.


UdB Dip. Informatica

17

GESTIONE DEGLI UTENTI 3


File di configurazione

/etc/passwd
File che contiene le informazioni dell'utente, uno per riga, con questo
formato:
username : password : UserID : GroupID : commento :
homedirectory : comando di login
/etc/groupFile
contenente le informazioni sui gruppi e le loro relazioni. Formato:
NomeGruppo : commento : GroupID: Utenti,Del,Gruppo
/etc/shadow
Se il sistema gestisce le shadow, questo il file che contiene le password
criptate e ulteriori dati.
Nei campi, separati da : , sono inserite informazioni sulla scadenza
della password, l'ultima volta in cui stata modifcata, giorni di avviso
prima della scadenza della password...

LINUX sys admin.


UdB Dip. Informatica

Archiviare e comprimere files


Il comando TAR
Tar <opt> <file1> <file2>.
Opzioni principali:

c crea nuovo archivio


v verbose mode
f nome del file dove porre l archivio (.tar di default)
x estrae i files dall archivio
t elenca i files contenuti nell archivio
z filtra l archivio tramite gzip/gunzip
Z filtra l archivio mediante Compress/Uncompress
Es: tar cvf /mnt/floppy/filepasswd /etc/passwd
tar cvf backup.tar /etc

Il comando GZIP/GUNZIP
Gzip <-liv> <file1> -liv=livello di compressione , max 9
Es: gzip -9 backup.tar
tar cvf - /etc | gzip -9c > backup.tar.gz
gunzip c backup.tar.gz | tar xvf
tar cvfz backup.tar.gz /etc
LINUX sys admin.
UdB Dip. Informatica

18

Installazione Linux su PC
1. Controllo dell hardware supportato,
ad es. su http://hardware.redhat.com
2. Partizionamento e formattazione del disco rigido
3. Installazione del Boot Loader (LILO, GRUB)
4. Configurazione delle schede di rete
5. Scelta della password di root
6. Configurazione dell autenticazione password
Abilitazione MD5 per password fino a 256 caratteri
Abilitazione shadow password
7. Selezione dei pacchetti applicativi da installare
8. Configurazione di scheda video e monitor
LINUX sys admin.
UdB Dip. Informatica

Il comando fdisk l visualizza le partizioni del disco


[root@deis73 root]# fdisk l
Disco /dev/hda: 255 testine, 63 settori, 4865 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 Win95 Ext'd
/dev/hda5
2168 2320 1228941 82 Linux swap
/dev/hda6
2321 4865 20442681 83 Linux

LINUX sys admin.


UdB Dip. Informatica

19

Il comando df visualizza le partizioni, i rispettivi mount


point e l'ammontare di spazio libero su disco

[root@deis76 root]# df
Filesystem
/dev/hda1
/dev/hda6
none
/dev/hda3
/dev/hda2

1k-blocks Used Available Use% Mounted on


10080488 307968 9260452 4%
/
20121812 6248500 12851180 33%
/home
257344
0
257344
0%
/dev/shm
3526204 1962660 1384420 59%
/usr
3526204 331488 3015592 10%
/var

LINUX sys admin.


UdB Dip. Informatica

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

LINUX sys admin.


UdB Dip. Informatica

20

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)

LINUX sys admin.


UdB Dip. Informatica

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 per ciascun livello

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
LINUX sys admin.
UdB Dip. Informatica

21

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

3. Abilitare/disabilitare le quote
# quotaon uv /home
# quotaoff uv /home
4. Configurare il valore delle quote tramite vi
# edquota pippo
5. Controllare l utilizzo delle quote
# quota -u pippo
# repquota /home
LINUX sys admin.
UdB Dip. Informatica

Monitoraggio
last mostra l elenco degli accessi pi recenti
lastlog mostra l ultimo accesso per ciascun utente
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 log di sistema

LINUX sys admin.


UdB Dip. Informatica

22