Organizzazione di Sistemi Operativi e Reti

Documenti analoghi
Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica

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

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

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

LABORATORIO DI SISTEMI OPERATIVI

Organizzazione di Sistemi Operativi e Reti

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

Editor di testo Emacs Insegnamento di Sistemi Operativi di Rete Master Universitario in Tecnologie Internet

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

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

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

Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

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

Editor di testo VIM. Ing. Simone Brienza. Corso di laurea specialistica in Ingegneria Elettronica

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

Uso del terminale in ambiente UNIX

(0$&6HGLWRUIXOOVFUHHQ

Corso Linux Base. 2. Uso del Sistema

Prima Esercitazione. Linux shell e linguaggio C

Esempio di domande sul file system

Utenti e Permessi. Andrea Bontempi. Corsi Linux POuL

Lezione 3: Programmazione della Shell di Unix

LABORATORIO DI SISTEMI OPERATIVI

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX

1. Introduzione 3 / 27

Nozioni Base di Linux

USO DELLA TASTIERA E DEL MOUSE

USO DELLA TASTIERA E DEL MOUSE

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

L INTERFACCIA GRAFICA DI EXCEL

Introduzione al sistema Linux

Avvio Avviare il computer facendo partire Linux (SL - Scientific Linux 6.3).

Comandi principali di Linux (1)

Introduzione all'editor vi

File System Unix. Generalità

La Back Office Console consente di costruire lo scheletro degli schema.

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

Lavoriamo ora in windows

Unix e utenti. UNIX è un SO multiutente. Singolo utente

Sistema operativo Linux Ubuntu

Gestione Utenti & Permessi

Senza Soluzioni. Può un altro utente non appartenente al gruppo di mgiorgio, eseguire gli stessi comandi?

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

Introduzione all'uso del sistema operativo Ubuntu

LEZIONE 4. Per semplificarne la comprensione della tastiera possiamo suddividere i tasti in diversi gruppi in base alla funzione che possono svolgere:

Compilazione rapporto di Audit in remoto

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

Lezione 2: Comandi avanzati della Shell di Unix

U.T.E Università della Terza Età

APPENDICE A EDITOR DI TESTO A.1 INDISPENSABILI STRUMENTI DI LAVORO A.2 LAVORARE CON VI. Appendice A. Pietro Buffa

Usare Python in Linux

SHELL: File e Filesystem

Lab 19 Unix e comandi di base

INSTALLAZIONE DI GM2000

Permessi base e speciali in Unix-Linux

I Metacaratteri della Shell Unix

Navigazione. Nelle varie maschere, l utente può eseguire le funzioni elencate sulla sinistra (V3) o in alto (V4) nella barra dei comandi:

U.T.E FOGLIO ELETTRONICO. Università della Terza Età. Sede di Novate Milanese. Corso Informatica Approfondimento. Docente: Giovanni Pozzi

Video Scrittura (MS Word) Prima Parte

Esercitazione GNU/Linux n. 2

Guida a WordPress. 1. Iscrizione a Wordpress

L editor vi da linea comandi

Modulo. Quiz. 3.1 Utilizzo dell applicazione. 3.2 Creazione di un documento

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Lena Cota Guido Corso di Informatica - II livello. Tastiera. Conoscenza e utilizzo della periferica

APVE in Rete Modulo 8 Excel nozioni di base e esercitazioni su economia domestica

Lab. di Sistemi Operativi

Planet: note per la gestione delle Patch (Pagina 1:7)

Lezione 2: Comandi avanzati della Shell di Unix

PRIMI PASSI CON UN DATABASE

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

Eclipse e SDK. Capiamo che sistema operativo abbiamo

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

La tastiera 1. Tipi di tastiere

Il software Epi Info

Laboratorio 1: Usare Linux

Capitolo 2. Figura 21. Inserimento dati

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

REALIZZAZIONE DEL SISTEMA INFORMATIVO DEL SUAPE

ISTRUZIONI PER LA PRESENTAZIONE DI PROPOSTE DI PROGETTI PER LE SCUOLE PRIMARIE E SECONDARIE DI I GRADO TRAMITE IL DATA BASE DEL PROGETTO P.E.

Laboratorio Informatico di Base. Fogli di calcolo

Word Elaborazione di testi

MANUALE di MOVIE MAKER

Sistemi operativi. Corso di Laurea Triennale in Ingegneria Informatica. Lezione 4 Cenni a Xserver Patch, diff Tar, gzip, bzip Find, grep

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

File-System! Introduzione al File-System! Struttura dei File! Concetto di File!

Sistemi Operativi e Sperimentazioni

Fondamenti di informatica. Word Elaborazione di testi

Transcript:

Organizzazione di Sistemi Operativi e Reti Corso di Laurea Triennale in Ingegneria Informatica Sara Lioba Volpi (sara.volpi@iet.unipi.it)

Seconda Esercitazione

Sommario Editor vi, emacs, Utenti e gruppi, Permessi, Gestione utenti (prima parte). 3

Editor di testo

Editor di testo Esistono vari editor di testo: vi, emacs, 5

Editor vi Per creare o aprire un file già esistente: vi nomefile Esistono due modalità di funzionamento per vi: 1.modalit modalità comandi: permette di inserire comandi e scegliere quale azione compiere; 2.modalit modalità editing: permette di inserire e cancellare testo (come se fosse un editor di testo quale blocco note). 6

Editor vi: comandi (1 di 2) Elenco di alcuni comandi dell editor editor vi esc Passa in modalità comandi. i Passa in modalità inserimento nella posizione corrente. o Apre in inserimento una nuova linea sotto la posizione corrente. x Cancella un carattere. u Undo. r? Sostituisce con? il carattere su cui si trova il cursore. dd Taglia la riga corrente. ndd Taglia n righe. yy Copia una riga. nyy Copia n righe. 7

Editor vi: comandi (2 di 2) Elenco di alcuni comandi dell editor editor vi p Incolla la selezione nella riga sotto il cursore. /word Ricerca nel testo la parola word n Si posiziona sull'occorrenza successiva (nella ricerca). N Si posiziona sull'occorrenza precedente (nella ricerca). :q Esce (solo se non si sono fatte modifiche). :w Salva. :wq Salva ed esce. :q! Esce senza salvare. 8

Interfaccia grafica 1. Creare nella propria home un file con nome:.xinitrc 2. Nel file.xinitrc scrivere: wmaker 3. Chiudere e salvare il file.xinitrc 4. Digitare il comando startx 9

Editor emacs Per creare o aprire un file già esistente: emacs nomefile Usare emacs da interfaccia grafica (consigliato). Ambiente grafico, si possono usare i menù a tendina. Lavora su un buffer e non sul disco. Al salvataggio il file viene aggiornato sul disco. I comandi sono espressi come combinazioni di tasti. Abbreviazioni usate di seguito: C = CTRL, M = Alt. 10

Editor emacs: composizione interfaccia Barra degli strumenti Buffer Mini-buffer Barra di stato 11

Editor emacs: comandi (1 di 4) Elenco di alcuni comandi dell editor editor emacs Comandi di base C+h + es. a C+x,u C+x,C+g C+x,C+c C+x,C+s C+x,C+w File C+x,C+f C+x,C+v C+x,i Help. a(apropos) : apropos cerca nella documentazione in linea di Emacs l espressione regolare digitata. Annulla operazione precedente. Esce dal comando corrente. Esce e chiede di salvare Salva il file. Salva con nome. Apre un file nel buffer corrente. Cerca e legge un file alternativo. Inserisce un file nella posizione corrente. 12

Editor emacs: comandi (2 di 4) Elenco di alcuni comandi dell editor editor emacs Movimenti del cursore C+p Linea precedente. C+n Linea successiva. C+a Inizio linea. C+e Fine linea. C+v Sfoglia avanti. M+v Sfoglia indietro. M+f Avanti di una parola. M+b Indietro di una parola. M+< Inizio buffer. M+> Fine buffer. M+x goto-line <invio> n Muove il cursore alla linea n. 13

Editor emacs: comandi (3 di 4) Elenco di alcuni comandi dell editor editor emacs Ricerca C+s Ricerca in avanti. C+r Ricerca al rovescio. M-x replace-string <invio> stringa <invio> nuovastringa <invio> Cerca e rimpiazza una stringa. Cancellazione testo C+d Cancella un carattere. M+d Cancella dal cursore fino a fine parola. C+k Cancella dal cursore fino a fine linea. Trasformazione testo M+u Maiuscolo dal carattere corrente fino a fine parola. M+l Minuscolo dal carattere corrente fino a fine parola. 14

Editor emacs: comandi (4 di 4) Elenco di alcuni comandi dell editor editor emacs Copia, Taglia, Incolla C+<space> Per marcare una posizione. M+w C+w C+y Copia la parte evidenziata o dalla marcatura al cursore. Taglia/cancella la parte evidenziata o dalla marcatura al cursore. Incolla. Dividere l ambiente in più finestre C+x,n Divide l ambiente in 2 finestre (n = 2 o 3). C+x,1 Cancella tutte le finestre ad eccezione di quella corrente. C+x,o Si sposta sull altra finestra. 15

Editor emacs: programmazione (1 di 2) emacs supporta le modalità di un ampia gamma di linguaggi di programmazione come C e C++. Elenco di alcuni comandi dell editor editor emacs Supporto alla programmazione M-x [language]- mode M-x [language]- indent-region Passa ad una determinata modalità di linguaggio (per il C: M-x c-mode). Per indentare con il tasto TAB. M-x font-lock-mode Attiva la colorazione della sintassi. 16

Editor emacs: programmazione (2 di 2) Elenco di alcuni comandi dell editor editor emacs Supporto alla programmazione: compilazione M+x compile Chiama il compilatore al quale bisogna passare i comandi per compilare, es.: gcc o main main.c Chiama compilatori esterni. Mostra il risultato in un buffer. Compilation finished: se la compilazione va a buon fine. Compilation exited abnormally: se la compilazione non va a buon fine. Nel buffer dedicato ai messaggi del compilatore viene visualizzato l'elenco dei messaggi di errore con indicazioni sulla linea del sorgente. 17

Utenti e gruppi

Utenti Ogni utente è identificato da: un username, un UID (user ID) numerico. Username e UID sono pubblici. Ogni utente può appartenere ad uno o più gruppi. 19

Gruppi (1 di 2) Ogni gruppo è identificato da: un groupname, un GUID (group ID) numerico. L utente root appartiene di default al gruppo wheel. 20

Gruppi (2 di 2) gruppo2 utente4 utente5 utente2 utente3 gruppo1 utente1 utente1 appartiene al gruppo gruppo1, utente2 appartiene ai gruppi gruppo1 e gruppo2, utente3 appartiene al gruppi gruppo1 e gruppo2, utente4 appartiene al gruppo gruppo2, utente5 appartiene al gruppo gruppo2. 21

Permessi

Gestione dei permessi I permessi possono essere di: lettura, scrittura, esecuzione. I permessi da applicare vengono differenziati in base alla natura dell'utente che vuole operare sul file, directory, : utente proprietario del file: owner, gruppo proprietario: group owner, gli altri utenti: others. 23

Gestione dei permessi: file Il permesso di scrittura non incide sulla possibilità di cancellare un file, bisogna considerare i permessi della directory. 24

Gestione dei permessi: directory Negare l accesso in lettura impedisce l esecuzione con successo del comando ls. Negare l accesso in scrittura impedisce di creare, cancellare e rinominare file. Negare l accesso in esecuzione impedisce di fare un cd sulla directory. 25

Gestione dei permessi: permessi speciali Attributo sticky su cartelle non consente ad un utente di cancellare o rinominare un file a meno che non ne sia il proprietario (anche se ha il permesso in scrittura sulla directory). 26

Rappresentazione simbolica dei permessi (1 di 2) I permessi di un file, directory,... possono essere visualizzati con il comando ls l: drwxr-xr-x prova t rwx rwx rwx t : tipo di file, d : directory, - : file,... r: permesso di lettura, w: permesso di scrittura, x: permesso di esecuzione, others group owner - indica l'assenza del permesso corrispondente. 27

Rappresentazione simbolica dei permessi (2 di 2) Il permesso di esecuzione in owner può essere anche: s : SUID ed esecuzione permessi, S : solo SUID. Il permesso di esecuzione in group owner può essere anche: s : SGID ed esecuzione permessi, S : solo SGID. Il permesso di esecuzione in others può essere anche: t : sticky ed esecuzione permessi, T: solo sticky. 28

Rappresentazione ottale dei permessi La rappresentazione ottale dei permessi consiste in un numero di 4 cifre in base 8. lettura: 4, scrittura: 2, esecuzione: 1, SUID: 4, SGID: 2, sticky: 1. 29

Comando chmod (1 di 2) chmod permette di modificare i permessi. La sintassi generale di chmod è la seguente: chmod [who][how][which] who: a chi modificare i permessi: owner (u), group (g), others (o), all (a). how: '+' aggiunge un permesso, '-' toglie un permesso, '=' assegna un permesso. 30

Comando chmod (2 di 2) Rappresentazione simbolica: chmod a+rwx directory1 Rappresentazione ottale: chmod 0741 file opzione -R : modifica ricorsivamente i permessi delle directory indicate e del loro contenuto. 31

Real e Effective User ID 32

Applicazione dei permessi 33

Proprietari dei file Quando viene creato un file/directory/, l owner è rappresentato dall EUID, il group owner è rappresentato dall EGUID. Comandi UNIX di base 34

Gestione utenti (prima parte)

Comandi passwd, whoami, id, groups passwd : permette di cambiare la password. whoami : visualizza l EUID. id : visualizza UID e GID dell utente selezionato o di quello corrente. groups : visualizza i gruppi ai quali l utente appartiene. 36

Creazione e rimozione degli utenti adduser : crea un nuovo utente nomeutente. adduser nomeutente rmuser : rimuove l'utente nomeutente. rmuser nomeutente 37

Interazione fra gli utenti

Comando su Il comando su (switch user o substitute user) viene tipicamente usato da: utenti non privilegiati per avviare una shell come root per poterlo eseguire l utente deve appartenere anche al gruppo wheel, root per avviare una shell come utente ordinario. Richiede autenticazione password dell utente che si vuole diventare. 39

Comandi chown, chgrp Il comando chown permette di modificare il proprietario e/o il gruppo assegnato ad un file o directory. Il comando chgrp permette di modificare il gruppo assegnato ad un file o directory. 40

Esercizio

Esercizio (1 di 3) Supporre di essere l utente utente. 1. Lavorare nella propria cartella home. 2. Creare una cartella con nome visibile e al suo interno una cartella con nome segreta. 3. Scrivere la stringa vero nel file notizia.txt all interno di visibile. 4. Copiare notizia.txt all interno di segreta assegnandole il nome cronaca.txt. 5. 1. Togliere il permesso di esecuzione (proprietario) a visibile usando la rappresentazione simbolica. 2. Rimettere il diritto di esecuzione (proprietario) a visibile usando la rappresentazione simbolica. 3. Togliere di nuovo il diritto di esecuzione (proprietario) usando la rappresentazione ottale e lasciando invariati i diritti del gruppo e di others. 42

Esercizio (2 di 3) 6. A questo punto: 1. si riesce a vedere il contenuto di visibile? 2. si riesce a vedere il file notizia.txt dentro visibile? 3. si riesce a vedere il contenuto di segreta? 4. si riesce a vedere il file cronaca.txt dentro segreta? 7. Creare un utente utente2 (login con root). 1. utente riesce a vedere il contenuto della home di utente2? 2. eventualmente cambiare i diritti in modo che utente non riesca a vedere il contenuto della home di utente2. 8. Controllare a quali gruppi appartiene l utente root (login con utente). 43

Esercizio (3 di 3) 9. Creare un utente utente3. 10. Creare la cartella temp nella home di utente3. 11. Quali sono l utente proprietario e il gruppo proprietario di temp? 12. Cambiare utente proprietario e gruppo proprietario di temp con utente3 e verificare che si avvenuto l aggiornamento di tali campi. 13. Rimettere wheel come gruppo proprietario di temp. 14. Rimuovere utente2 ed utente3. 44

Soluzione (1 di 3) 1. cd 2. mkdir p visibile/segreta 3. echo 'vero' > visibile/notizia.txt 4. cp visibile/notizia.txt visibile/segreta/cronaca.txt 5. 1. chmod u-x visibile 2. chmod u+x visibile 3. Supponendo che i diritti del gruppo e di others siano solo di lettura ed esecuzione ma non di scrittura: chmod 655 visibile 45

Soluzione (2 di 3) 6. Risposte alle domande 1. Si riesce a vedere il contenuto di visibile (al proprietario è consentito l'accesso in lettura). 2. Non si può vedere il file notizia.txt dentro visibile (non si può attraversare visibile). 3. Non si può vedere il contenuto di segreta. 4. Non si può vedere il notizia.txt dentro segreta. 7. adduser utente2 1. supponendo che la maschera di default sia rwxr-xr-x, utente può vedere il contenuto della home di utente2. 2. supponendo che la home di utente2 abbia un gruppo diverso da utente: chmod o-r ~ 46

Soluzione (3 di 3) 8. groups root 9. adduser utente3 (login root) 10. mkdir /home/utente3/temp (root) 11. ls l /home/utente3/temp (l utente proprietario è root e il gruppo proprietario è wheel) 12. chown utente3:utente3 /home/utente3/temp ls l 13. chgrp wheel /home/utente3/temp 14. rmuser utente2 rmuser utente3 47

Comando umask Quando viene creato un file: il file appartiene automaticamente all utente che lo crea ed al gruppo principale dell utente stesso, i permessi gli vengono attribuiti in base alla maschera dei permessi ( umask ) : tale maschera rappresenta i permessi che NON vengono attribuiti, il suo valore, in generale, è tale da non attribuire il permesso di scrittura né al gruppo proprietario, né agli altri utenti, il valore di questa maschera può essere modificato (temporaneamente) con il comando: umask. 48