Sistemi Operativi - for.unipi.itfor.unipi.it/fabio_del_vigna/files/2016/09/Lezione_31.pdfì Sistemi...

Post on 25-Aug-2020

4 views 0 download

Transcript of Sistemi Operativi - for.unipi.itfor.unipi.it/fabio_del_vigna/files/2016/09/Lezione_31.pdfì Sistemi...

ìSistemi OperativiCorso di Laurea Triennale in Ingegneria Informatica

Esercitazione3

•Gestione utenti (prosecuzione)•MBR e GPT•Partizioni

FabioDelVigna- fabio.delvigna@for.unipi.it

Domande sulle lezioni passate?

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio

ì Supporre di essere l’utente “utente”.

ì Lavorare nella propria cartella home.

ì Creare una cartella con nome visibile e al suo interno una cartella con nome segreta.

ì Scrivere la stringa vero nel file notizia.txt all’interno di visibile.

ì Copiare notizia.txt all’interno di segreta assegnandole il nome cronaca.txt .

ì

ì Togliere il permesso di esecuzione (proprietario) a visibile usando la rappresentazione simbolica.

ì Rimettere il diritto di esecuzione (proprietario) a visibile usando la rappresentazione simbolica.

ì Togliere di nuovo il diritto di esecuzione (proprietario) usando la rappresentazione ottale e lasciando invariati i diritti del gruppo e di others.

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio

ì A questo punto:ì si riesce a vedere il contenuto di visibile?ì si riesce a vedere il file notizia.txt dentro visibile?ì si riesce a vedere il contenuto di segreta?ì si riesce a vedere il file cronaca.txt dentro segreta?

ì Creare un utente utente2 (login con root).ì utente riesce a vedere il contenuto della home di

utente2?ì eventualmente cambiare i diritti in modo che utente

non riesca a vedere il contenuto della home di utente2.ì Controllare a quali gruppi appartiene l’utente root

(login con utente).

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio

ì Creare un utente utente3.ì Creare la cartella temp nella home di utente3.ì Quali sono l’utente proprietario e il gruppo

proprietario di temp?ì Cambiare utente proprietario e gruppo

proprietario di temp con utente3 e verificare che sia avvenuto l’aggiornamento di tali campi.

ì Rimettere root come gruppo proprietario di temp. ì Rimuovere utente2 ed utente3.

FabioDelVigna- fabio.delvigna@for.unipi.it

Shell

§ Per informazioni su una shell usare il manuale.§ man bash,

§ man sh.

§ Leggere nella pagina di manuale info su redirezione e pipeline

§ Le shell che un utente può utilizzare sono elencate nel file /etc/shells.

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione Utenti – seconda parte

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione Utenti - password

§ File con le informazioni sugli utenti:§ /etc/passwd

§ File con le informazioni sugli utenti e le password criptate:§ /etc/shadow

ð si possono aprire con il comando vipw e vipw -s, che li apre con l’editor predefinito.

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione Utenti - password

fab:x:1001:1001:delvi:/home/fab:/bin/sh

password nome utente

nome di login

UID shellhomeGID

man 5 passwd

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione Utenti - password

Campo Significato

utente Nomeutente utilizzato peril login

password Password(cifrata).Se‘x’indica che lapasswordcifrata sitrova inshadow

UID(userid) Identificatore univoco dell’utente nel sistema (numero)

GID(group id) Identificatore univoco delgruppo nel sistema (numero)

dati personali Nominativo completo ealtre informazioni

cartella home Percorso assoluto della cartella personale (home).Vieneutilizzato perimpostare lavariabile d’ambiente $HOME

shell Interprete dei comandi dautilizzareperl’utente

FabioDelVigna- fabio.delvigna@for.unipi.it

• Shell• Puòessereimpostataa/sbin/nologin o /bin/false (ingenereper

gliutentidisistema).• Intalcasononèpossibilefarelogincontaleutente.

Gestione Utenti – password shadow

ìman 5 shadow

ì Tuttosuunasolariga:userName:pwdCrypt:pwdAge:pwdAgeMin:pwdAgeMax:pwdNotificationPeriod:pwdInactivityPeriod:pwdExpiryDate:reservedForFutureUse

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione Utenti – password shadow

§ Utentidisistema§ Campopasswordcriptata

* indicacheilloginnonèpossibile(nessunastringacriptatagenera*).

ì Approfondimento→cifratura,hash ealtro…è man 3 crypt

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione Utenti – shadow

Campo Significato

Nomedilogin Deve essere unnome valido (esistente)

Password Lapassword cifrata dell’utente (vedere crypt)

Ultima modifica Datadimodifica della password

Età min Minimadurata della password

Età max Durata massima della password

Periodo inattività Giorni dopo lascadenza della passwordincuiquesta èancora accettata

Scadenza Datascadenza account

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione gruppi

ì Èpossibileamministrareigruppieditandoilfile:ì /etc/group

ì Permodificareilfileinsicurezza,utilizzareilcomandoì vigr

ì Conl’opzione–s èpossibilemodificarelaversioneshadow delfile,cioèì /etc/gshadow

FabioDelVigna- fabio.delvigna@for.unipi.it

Gestione gruppi - /etc/group

Campo Significato

gruppo Nomedelgruppo

password Passwordcifrata delgruppo

GID (groupid) Identificatore univoco delgruppo (numero)

lista utenti Utenti appartenenti algruppo (separati davirgole)

FabioDelVigna- fabio.delvigna@for.unipi.it

studenti:x:1010:fabio,domenico,luca

gruppo GID

password elenco utenti

Gestione gruppi - /etc/gshadow

Campo Significato

Gruppo Nomedelgruppo

Password Passwordcifrata delgruppo

Amministratori Gestori delgruppo che possono cambiare lapassword

Membri Utenti appartenenti algruppo (separati davirgole)

FabioDelVigna- fabio.delvigna@for.unipi.it

• Per cambiare la password del gruppo si utilizza il comando gpasswd

Il filesystem – le partizioni

FabioDelVigna- fabio.delvigna@for.unipi.it

Il boot

ì Finoapocotempofa,dopol’avvio,ilcalcolatoreeseguivailBIOS(BasicInput-OutputSystem)

ì POST,ilprimoprogrammaavviatodalBIOS(sitrovanellaROM),eseguel’auto-diagnosidisistema

ì SeguelafasediBoot(strap)

FabioDelVigna- fabio.delvigna@for.unipi.it

Il bootloader

ì Ilbootstrapèeseguitodalbootloader

ì Ilbootloader èuncomponentechecaricainmemoriailkernel delSOì Leggelamemoriadimassaì Spessositrovanelprimobloccodelprimodiscoda

cuiavvieneilcaricamento.Puòtrovarsiquindi:ì NelMasterBoot Record(MBR)ì Primosettoredellapartizionedelsistema,edè

precedutodalBoot Manager(es.Winload oGRUBcheèanchebootloader)nelcasovisianopiùsistemiinstallati,perpermetterelaselezione.

FabioDelVigna- fabio.delvigna@for.unipi.it

MBR

ì Èilsettorediavvioprincipale(512kB)

ì Èpostonelprimobloccofisicodeldisco

ì Contieneilbootloader oilboot manager

ì Contieneanchelatabelladellepartizioni

FabioDelVigna- fabio.delvigna@for.unipi.it

MBR

ì Ognipartizionehailsuobootloader.Nellatabellaèindicatoilsettoreincuisitrova

ì Neiprocessorix86ilboot avvieneinmodalitàrealeì ilprocessorepuòutilizzarealpiù1MBdimemoriaRAMì Nonc’èlavirtualizzazionedellamemoria

ì IlMBRcontieneì MasterBoot Program(MBP)avviatoconuninterruptì MasterBoot Table (MBT,lagiàcitatatabelladellepartizioni)ì MagicNumber (2ByteAA55diterminazione)

FabioDelVigna- fabio.delvigna@for.unipi.it

Unified Extensible Firmware Interface

ì SostituisceilBIOS

ì Permettediintegraredelfirmwarenellaschedamadre

ì Nonrisentedeilimitidellamodalitàrealedelprocessore,eoffrefunzionalitàinpiù

ì UsalostandardGPTalpostodelMBR

ì Vendor lock-in

FabioDelVigna- fabio.delvigna@for.unipi.it

FabioDelVigna- fabio.delvigna@for.unipi.it

GUID Partition Table (GPT)

ì Nuovostandardperlatabelladellepartizioniì Ridondanteì Compatibile

ì GPTsuperalalimitazionedi2TBapartizione

ì ContieneunMBRinizialeperproteggerelapartizione

ì IncludeCRC32perlaverificadell’integrità

FabioDelVigna- fabio.delvigna@for.unipi.it

Partizione vs Volume

ì Partizione:suddivisionelogicadeldiscofisicoì Primaria(max 4)ì Estesa(max 64):ognipartizione

hal’extended boot recordall’iniziochemappalepartizionilogiche

ì Volume:Areadimemorizzazioneconunsingolofilesystemì IvolumiesistonoalivellodiSOì Puòcoprirepiùpartizioniì InWindowssonoidentificatidal

lettere(C: adesempio)

FabioDelVigna- fabio.delvigna@for.unipi.it

FabioDelVigna- fabio.delvigna@for.unipi.it

FabioDelVigna- fabio.delvigna@for.unipi.it

Comandi per gestire il filesystem

ì mount – montaunfilesystem (vedremoidettagliinseguito)

ì df – mostralospazioliberosulfilesystemì -h – Rendel’outputdelcomandopiùleggibile

ì du – mostral’utilizzodeldiscodapartedeifileedirectorypassaticomeparametro

es:$ du –H –d 1 /home | sort –n -r

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio - intro

ì vipw→'vi/etc/passwd'+altro(vedeteilmandivipw)

ì vipw -s→'vi/etc/shadow'+altro

ì vigr→'vi/etc/group'+altro

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio 1/2

l Eseguire il login come utente root.

l Creare, utilizzando il comando adduser, un utente pippo (impostare come home la cartella /tmp/pippo).

l Creare un utente pluto (impostare come home la cartella /tmp/pluto).

l pluto può creare file nella home di pippo? In caso negativo modificare i diritti delle home di pippo e pluto in modo che i due utenti possano fare tale operazione a vicenda.

l Creare un nuovo gruppo floppyusr a cui deve appartenere l'utente pluto.

FabioDelVigna- fabio.delvigna@for.unipi.it

Esercizio 2/2

l pluto appartiene al nuovo gruppo (comando id)? Eseguire logout e nuovo login di pluto. Cosa cambia?

l Creare una cartella /tmp/floppy appartenente al gruppo floppyusr.

l Assegnare a questa cartella i diritti in modo che:l i membri del gruppo floppyusr abbiano accesso

illimitato,

l a tutti gli altri utenti non sia consentito alcun tipo di accesso.

FabioDelVigna- fabio.delvigna@for.unipi.it