Altre aggiunte
[gapil.git] / filedir.tex
index 29feca0272dd9c2c4c47c5d8dedb57ee7d5182f3..bd30e902a80f913413db6fef73903a0fdb7441b2 100644 (file)
@@ -130,18 +130,15 @@ shell), occorre il permesso di esecuzione per il medesimo, inoltre solo i file
 regolari possono essere eseguiti.
 
 
-Per stabilire se un processo possiede un certo permesso ogni volta che si
-apre, crea o cancella un file il kernel esegue una serie di controlli
-guardando utente e gruppo a cui il file appartiene (i valori di \var{st\_uid}
-e \var{st\_gid}) che confronta con l'\textit{effective user id},
-\textit{effective group id} e gli eventuali \textit{supplementary group id}
+La procedura con cui il kernel stabilisce se un processo possiede un certo
+permesso (di lettura, scrittura o esecuzione) si basa sul confronto fra
+l'utente e il gruppo a cui il file appartiene (i valori di \var{st\_uid} e
+\var{st\_gid} accennati in precedenza) e l'\textit{effective user id},
+l'\textit{effective group id} e gli eventuali \textit{supplementary group id}
 del processo (per una spiegazione dettagliata degli ID dei processi si veda
 \secref{sec:prochand_perms}; normalmente, a parte quanto spiegato in
-\secref{sec:filedir_suid_sgid}, essi corrispondo all'uid e al gid dell'utente
-che ha lanciato il processo).
-
-
-
+\secref{sec:filedir_suid_sgid}, essi corrispondono all'uid e al gid
+dell'utente che ha lanciato il processo).
 
 
 % Quando un processo cerca l'accesso al file esso controlla i propri uid e gid
@@ -154,10 +151,31 @@ che ha lanciato il processo).
 
 % In realtà il procedimento è più complesso di quanto descritto in maniera
 % elementare qui; inoltre ad un processo sono associati diversi identificatori,
-% torneremo su questo in maggiori dettagli in seguito in \secref{sec:proc_perms}.
-
-
-
+% torneremo su questo in maggiori dettagli in seguito in
+% \secref{sec:proc_perms}.
+
+I passi attraverso i quali viene stabilito se il processo possiede il diritto
+di accesso sono i seguenti:
+\begin{itemize}
+\item Se l'\textit{effective user id} del processo è zero (corrispondente
+  all'amministratore) l'accesso è sempre garantito senza nessun ulteriore
+  controllo. Per questo motivo \textsl{root} ha piena libertà di accesso a
+  tutti i file.
+\item Se l'\textit{effective user id} del processo è uguale all'uid del
+  proprietario del file (che nel caso più comune significa che chi ha lanciato
+  il processo è il proprietario del file) allora:
+  \begin{itemize}
+  \item se il relativo\footnote{per relativo si intende il bit di user-read se
+      il processo, vuole accedere in scrittura, quello di user-write per
+      l'accesso in scrittura, etc.} bit dei permessi d'accesso dell'utente è
+    settato, l'accesso è consentito
+  \item altrimenti l'accesso è negato
+  \end{itemize}
+\item Se l'\textit{effective group id} del processo o uno dei
+  \textit{supplementary group id} dei processi. 
+\end{itemize}
+questi passi vengono eseguiti in quest'ordine, qualora si abbia il permesso
+d'accesso la scansione viene terminata.
 
 \subsection{I flag \texttt{suid} e \texttt{sgid}}
 \label{sec:filedir_suid_sgid}