Aggiunti errori.
[gapil.git] / prochand.tex
index 06f8e57c8683b4e702a999a453577e99ef45f995..2fdd12f5fb7e2fa04a9b95e6b73b8c912ffc1a29 100644 (file)
@@ -1165,14 +1165,16 @@ esplicita a \func{fcntl} che setti il suddetto flag.
 Per le directory lo standard POSIX.1 richiede che esse vengano chiuse
 attraverso una \func{exec}, in genere questo è fatto dalla funzione
 \func{opendir} che effettua da sola il settaggio del flag di
-\textit{close-on-exec} in maniera trasparente all'utente.
+\textit{close-on-exec} sulle directory che apre, in maniera trasparente
+all'utente.
 
 Abbiamo detto che il \textit{real user ID} ed il \textit{real group ID}
 restano gli stessi all'esecuzione di \func{exec}; lo stesso vale per
 l'\textit{effective user ID} ed l'\textit{effective group ID}, tranne il caso
 in cui il file che si va ad eseguire ha o il \acr{suid} bit o lo \acr{sgid}
 bit settato, nel qual caso \textit{effective user ID} e \textit{effective
-  group ID} vengono settati rispettivamente all'utente o al gruppo cui il file appartiene.
+  group ID} vengono settati rispettivamente all'utente o al gruppo cui il file
+appartiene (per i dettagli vedi \secref{sec:proc_perms}).
 
 Se il file da eseguire è in formato \emph{a.out} e necessita di librerie
 condivise, viene lanciato il \textit{linker} dinamico \cmd{ld.so} prima del
@@ -1182,7 +1184,7 @@ dinamiche viene usato l'interprete indicato nel segmento \macro{PT\_INTERP},
 in genere questo è \file{/lib/ld-linux.so.1} per programmi linkati con le
 \emph{libc5}, e \file{/lib/ld-linux.so.2} per programmi linkati con le
 \emph{glibc}. Infine nel caso il file sia uno script esso deve iniziare con
-una linea nella forma \cmd{#!/path/to/interpreter} dove l'interprete indicato
+una linea nella forma \cmd{\#!/path/to/interpreter} dove l'interprete indicato
 deve esse un valido programma (binario, non un altro script) che verrà
 chiamato come se si fosse eseguitio il comando \cmd{interpreter [arg]
   filename}.
@@ -1195,6 +1197,7 @@ altre funzioni sono ausiliarie e servono la lettura e il settaggio dei vari
 parametri connessi ai processi.
 
 
+
 \section{Il controllo di accesso}
 \label{sec:proc_perms}
 
@@ -1207,11 +1210,12 @@ funzioni per la loro manipolazione diretta.
 \subsection{Utente e gruppo di un processo}
 \label{sec:proc_user_group}
 
-Abbiamo già accennato in \secref{sec:intro_multiuser} ad ogni utente ed gruppo
-sono associati due identificatori univoci, lo \acr{uid} e il \acr{gid} che li
-contraddistinguono nei confronti del kernel. Questi identificatori stanno alla
-base del sistema di permessi e protezioni di un sistema unix, e vengono usati
-anche nella gestione dei privilegi di accesso dei processi.
+Abbiamo già accennato in \secref{sec:intro_multiuser} che ad ogni utente e
+gruppo sono associati due identificatori univoci, lo \acr{uid} e il \acr{gid}
+che li contraddistinguono nei confronti del kernel. Questi identificatori
+stanno alla base del sistema di permessi e protezioni di un sistema unix, e
+oltre che per il controllo di accesso ai file vengono usati anche nella
+gestione dei privilegi di accesso dei processi.
 
 In realtà ad ogni processo è associato un certo numero di identificatori, il
 cui elenco è riportato \ntab, in genere questi derivano direttamente
@@ -1251,26 +1255,31 @@ gestione dei privilegi associati ai processi stessi.
 Il \textit{real user id} e il \textit{real group id} indicano l'utente che ha
 lanciato il processo, e vengono settati al login al valore standard di
 \acr{uid} e \acr{gid} dell'utente letti direttamente da \file{/etc/passwd}.
-Questi non vengono mai cambiati nella creazione di nuovi processi e restano
-sempre gli stessi per tutti i processi avviati in una sessione. In realtà è
-possibile modificarli (vedi \secref{sec:proc_setuid}), ma solo per un processo
-che abbia i privilegi di amministratore (ed è così infatti che \cmd{login},
-che gira con i privilegi di amministratore, li setta ai valori corrispondenti
-all'utente che entra nel sistema).
+
+Esso servono ad identificare l'utente che ha lanciato il processo e non
+vengono mai cambiati nella creazione di nuovi processi restando sempre gli
+stessi per tutti i processi avviati in una sessione. In realtà vedremo che è
+possibile possibile modificarli (in \secref{sec:proc_setuid}), ma solo ad un
+processo che abbia i privilegi di amministratore; questa possibilità è usata
+ad esempio da \cmd{login} che una volta completata la procedura di
+autenticazione lancia una shell per la quale setta questi indetificatoru ai
+valori corrispondenti all'utente che entra nel sistema.
 
 L'\textit{effective user id}, l'\textit{effective group id} e gli eventuali
-\textit{supplementary group id} sono gli identificativi usati per il controllo
-di accesso ai file secondo quanto descritto in dettaglio in
-\secref{sec:file_perm_overview}. Normalmente sono uguali al \textit{real user
-  id} e al \textit{real group id}, a meno che il file posto in esecuzione non
-abbia i bit \acr{suid} o \acr{sgid} settati, nel qual caso vengono settati
-rispettivamente all'\acr{uid} e \acr{gid} del file.
+\textit{supplementary group id} sono invece gli identificatori usati per il
+controllo di accesso ai file (secondo quanto descritto in dettaglio in
+\secref{sec:file_perm_overview}). Normalmente essi sono uguali al \textit{real
+  user id} e al \textit{real group id}, a meno che il file posto in esecuzione
+non abbia o il bit \acr{suid} o il bit \acr{sgid} settato, in questo caso alla
+la funzione \func{exec} (vedi \secref{}) li setta rispettivamente ai valori
+dell'\acr{uid} e del \acr{gid} cui appartiene il file.
 
 Il \textit{saved user id} e il \textit{saved group id} sono copie
 dell'\textit{effective user id} e dell'\textit{effective group id} del
-processo padre, e vengono settati all'avvio del processo, prima che
-\textit{effective user id} e \textit{effective group id} vengano modificati
-per tener conto di eventuali \acr{suid} o \acr{sgid}.
+processo padre, e vengono settati dalla funzione \func{exec} all'avvio del
+processo, prima che \textit{effective user id} e \textit{effective group id}
+vengano modificati per tener conto di eventuali \acr{suid} o \acr{sgid}, essi
+quindi consentono di tenere traccia di quale fossero l'utente originale.
 
 
 \subsection{Le funzioni \texttt{setuid} e \texttt{setgid}}