Introduzione D.McIlroy Pipe B. Kernighan Ideatori del ling. C Sistemi Operativi e Sperimentazioni Cristina Baroglio ufficio 32 011-6706703 baroglio@di.unito.it AWK egrep A. Aho Nome originale: Unics Anno di nascita: 1969 Luogo di nascita: At&T Bell Labs Vi, C-shell, BSD, SUN W. Joy D. Ritchie Ideatori di Unix K. Thompson S. Bourne Bourne shell R. Stallman Emacs Free Software Found. Missing... Caratteristiche? Rudd Canaday sviluppatore del file system di UNIX Kernel scritto in un linguaggio ad alto livello: C Multi-tasking Multi-utente Modulare File system gerarchico con gestione omogenea di directory e device Fornisce molte piccole utility e linguaggi ad hoc (make, awk,...) Consente di comporre utility e programmi tramite flussi di dati e pipe
Per chi viene da Windows... Sistema multi-utente Differenza principale: impostazione non grafica Vantaggio: maggiore flessibilità Al computer si parla Tramite linea di comando Problema: occorre imparare comandi, opzioni, linguaggi Più utenti lavorano in parallelo collegati ad una stessa macchina un utente può utilizzare contemporaneamente diverse identità Identificazione degli utenti Utenti e gruppi Login + password richiesti all'inizio della sessione di lavoro Root UID user identifier: numero interno che identifica l'utente internamente al sistema Gli utenti sono suddivisi in gruppi di lavoro in certe versioni di Unix un utente può far parte di più gruppi ogni gruppo è identificato da un nome e da un id numerico, il GID (Group Identifier) I gruppi sono gestiti dall'amministratore di sistema (root)
Multi-utenza e Protezione Protezione come limitazione delle possibili azioni degli utenti Restrizioni definite file x file / directory x directory Un solo utente non ha restrizioni: root Se un file corrispondente ad un comando, restringerne l'accesso significa ridurre il numero di utenti che possono eseguire il comando Diritti di accesso ai file Diritti di accesso alle directory r w x r - - - - - Documenti Diritti di owner Diritti del gruppo Diritti degli altri r = diritto di lettura w = diritto di scrittura x = diritto di attraversamento 4 = r 2 = w 1 = x r w x = 4 + 2 + 1 = 7 r - - = 4 + 0 + 0 = 4 - - - = 0 + 0 + 0 = 0 7 4 0 Vedere il contenuto di una directory Modificarne il contenuto (creazione, modifica, cancellazione di file e dir) Utilizzarla all'interno di path (cammini)
Comandi Nome_cmd [[opzioni] argomenti] [...] indicano opzionalità Chown chmod chgrp Gruppo dell'utente bob: bobg Comandi che agiscono su argomenti impliciti (forniti dal sistema in modo trasparente all'utilizzatore) Comandi che agiscono su argomenti esplicitamente forniti dall'utilizzatore Comandi predefiniti Comandi che corrispondono a programmi scritti oppure installati dall'utente chown owner[:group] file1... es1> chown ely pippo.txt es2> chown ada:gr1 pippo.txt Owner: ely Owner: ada gruppo: gr1 Chown chmod chgrp Gruppo dell'utente bob: bobg chmod nuovi_diritti file1... es1> chmod 777 pippo.txt es2> chmod g+w pippo.txt r w x r w x r w x pippo.txt r w x r w - - - - pippo.txt Specifica dei diritti di accesso (1) Modalità testuale: {u, g, o, a} {+, -} {r, w, x} U = proprietario (user) g = gruppo (group) o = altri (others) (dis)abilita r = lettura w = scrittura x = esecuz. / attraversam. a = tutti (all) (2) Modalità numerica: 4 0 0 lettura propr. 2 0 0 scrittura propr. 1 0 0 esecuz. propr. 0 4 0 lettura gruppo 0 2 0 scrittura gruppo 0 1 0 esecuz. gruppo 0 0 4 lettura altri 0 0 2 scrittura altri 0 0 1 esecuz. Altri
Manuale on-line Chown chmod chgrp Gruppo dell'utente bob: bobg È possibile reperire informazioni sui comandi e sul loro uso tramite il manuale on-line, utilizzando il comando man chgrp nuovo_gruppo file1... es1> chgrp gr1 pippo.txt gruppo: gr1 Es1> man chmod Per muoversi all'interno delle pagine visualizzate utilizzare: enter per scendere di una linea per volta Barra spaziatrice per andare avanti di una pagina b per tornare indietro di una pagina q per uscire