Unix e utenti
UNIX è un SO multiutente
Singolo utente
Lavora su file e cartelle
Esegue dei comandi
Scrive dei programmi
Usa delle risorse
Personalizza l’ambiente di lavoro
Può lavorare su di un terminale remoto
…
1
Identità e protezione
I file e le cartelle di ciascun utente devono essere
protetti dagli altri utenti e resi accessibili secondo le
modalità scelte dall’utente medesimo
A tal fine gli utenti devono essere identificabili
Spesso gli utenti sono divisi in gruppi di lavoro che
collaborano, in questo caso deve essere possibile
distinguere gli appartenenti al gruppo di lavoro
dell’utente dagli altri utenti
Identificazione degli utenti
Login + Password richieste all’inizio della sessione di lavoro
UID: user identifier
Numero intero usato dal sistema per verificare i diritti di
accesso ai file e, quindi, le operazioni che l’utente può
compiere
Utenti e gruppi
Gli utenti sono divisi in gruppi di lavoro, in certe versioni di
unix un utente può far parte contemporaneamente di più
gruppi di lavoro
GID: group identifier
Numero intero usato dal sistema per verificare i diritti di
accesso ai file e, quindi, le operazioni che gli utenti
appartenenti a un cero gruppo possono compiere
2
Protezione
Limiti di azione
Esiste un solo utente che non ha limiti d’azione: root
Meccanismo base per limitare gli utenti: definizione di opportuni
diritti d’accesso a file e directory
Un file può essere un eseguibile (per esempio un comando);
limitare l’accesso a un eseguibile significa impedire a certi utenti
di utilizzare quel comando. Idem nel caso in cui impedisca ad
alcuni utenti l’accesso a una cartella che contiene comandi
File e gruppi di utenti
Un file appartiene di default all’utente che l’ha creato (owner)
A ogni file sono associati diritti d’accesso per tre tipi di utenti:
1. Owner
2. Utenti appartenenti al gruppo dell’owner
3. Tutti gli utenti che non rientrano in 1 e in 2
3
Diritti d’accesso associati a file e directory
File:
r read
w write
x execute
lettura
modifica
esecuzione (se programma)
Directory:
r read
w write
x execute
lista dei file contenuti
creazione/cancellazione file
attraversamento
a ogni file/directory sono associate tre triplette di simboli che indicano
quali operazioni può compiere il proprietario (owner), quali gli appartenenti
al gruppo del proprietario (group) e quali i rimanenti utenti (others)
esempi
Owner: leggere il contenuto di pippo,
modificarlo, mandarlo in esecuzione
Group: leggere il contenuto di pippo e
mandarlo in esecuzione
Others: nessuna operazione
file
r w x r - x - - - pippo
r w - r w - r - - pluto
Owner: leggere il contenuto di pluto
e modificarlo
Group: leggere il contenuto di pippo
e modificarlo
Others: leggere il contenuto di pluto
esempi
Il file /etc/passwd contiene le informazioni relative
all’identità deli utenti con tanto di password associata
(criptata). I diritti di accesso sono:
rw- r-- r--
Diritti di root
passwd
Tutti gli altri
E se voglio cambiare
password?? Devo
passare tramite
amministratore di
sistema?
4
Estensione controllata dei
diritti d’accesso
I diritti d’accesso di un programma sono estesi
aggiungendo quelli relativi allo UID associato al
programma medesimo
Esempio
passwd: programma che consente a un utente di
cambiare password, è un comando Unix, ha associato lo
UID di root, quindi quando viene eseguito può accedere al
file /etc/passwd modificandolo (ma limitatamente alla
funzionalità del comando medesimo), cosa che gli utenti
diversi da root non possono fare normalmente
Esempi directory
directory
Owner: elenco dei file di alfa, creazione/canc
file in alfa, attraversamento di alfa
Group: elenco dei file di alfa, attraversamento
Others: elenco dei file di alfa e attraversamento
Owner: elenco dei file di beta, creazione/canc
file in beta, attraversamento di beta
Group: elenco dei file di beta, creaz/canc file in
beta, attraversamento
Others: nessuna operazione concessa
r w x r - x r - x alfa
r w x r w x - - - beta
r w x r - x - - x gamma
Owner: elenco dei file di gamma, creazione/canc
file in gamma, attraversamento di gamma
Group: elenco dei file di gamma, attraversamento
Others: solo attraversamento di gamma
Modifica dei diritti d’accesso
chmod
chown
chgrp
5
chmod
+ attiva diritti – disabilita diritti
chmod
u
g
o
a
r
w
x
+
-
nomeFile (o directory)
u (user) = owner del file
g = gruppo dell’owner
o = others (tutti gli altri)
a = all (tutti gliutenti)
Esempi chmod
r w - r- - r- -
pippo
r w x r w x r w x pluto
chmod ug+x pippo
chmod o-wx pluto
r w x r - x r - - pippo
rwx rwx r--
pluto
Chmod può essere usato solo dal proprietario di un
file o dall’amministratore di sistema
chown
L’amministratore di sistema può cambiare l’owner di un file
tramite il comando chown
Prompt> chown ut nomeFile1 [nomeFile2 … nomeFileN]
Utente1 Gruppo1
File1
prompt> chown Utente2 File1
Utente2 Gruppo1
E se Utente2
appartenesse ad un
altro gruppo?
File1
6
chown
Prompt> chown ut:gruppo nomeFile1 [nomeFile2 … nomeFileN]
Utente1 Gruppo1
File1
prompt> chown Utente2:Gruppo2 File1
Utente2 Gruppo2
File1
chgrp
prompt> chgrp nuovoGruppo nomeFile1 [nomeFile2 … nomeFileN]
Cambia il gruppo associato ad un file
7
Scarica

Unix e utenti UNIX è un SO multiutente Singolo utente