From dfa9e34351e48431891350bcfda4d9873ff79682 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Sat, 21 Jul 2001 22:21:18 +0000 Subject: [PATCH] Altre aggiunte --- Makefile | 5 +++-- filedir.tex | 46 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 905e19b..e07c067 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: html dvi ps pdf +all: html dvi ps pdf img html: latex2html -local_icons gapil.tex @@ -16,4 +16,5 @@ install: scp -r gapil* piccardi@firenze.linux.it:public_html clean: - rm -f *.dvi *.log *.ps *.html *.aux \ No newline at end of file + rm -f *.dvi *.log *.ps *.html *.aux + diff --git a/filedir.tex b/filedir.tex index 29feca0..bd30e90 100644 --- a/filedir.tex +++ b/filedir.tex @@ -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} -- 2.30.2