%% filedir.tex
%%
-%% Copyright (C) 2000-2009 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2010 Simone Piccardi. Permission is granted to
%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
consiste nel cancellare automaticamente questi bit dai permessi di un file
qualora un processo che non appartenga all'amministratore\footnote{per la
precisione un processo che non dispone della \itindex{capabilities} capacità
- \const{CAP\_FSETID}.} effettui una scrittura. In questo modo anche se un
-utente malizioso scopre un file \acr{suid} su cui può scrivere, un'eventuale
-modifica comporterà la perdita di questo privilegio.
+ \const{CAP\_FSETID}, vedi sez.~\ref{sec:proc_capabilities}.} effettui una
+scrittura. In questo modo anche se un utente malizioso scopre un file
+\acr{suid} su cui può scrivere, un'eventuale modifica comporterà la perdita di
+questo privilegio.
Le funzioni \func{chmod} e \func{fchmod} ci permettono di modificare i
permessi di un file, resta però il problema di quali sono i permessi assegnati
potessero essere abilitate e disabilitate in maniera indipendente per ciascun
processo con privilegi di amministratore, permettendo così una granularità
molto più fine nella distribuzione degli stessi che evitasse la originaria
-situazione di \textsl{tutto o nulla}.
+situazione di ``\textsl{tutto o nulla}''.
Il meccanismo completo delle \textit{capabilities}\footnote{l'implementazione
si rifà ad una bozza di quello che doveva diventare lo standard POSIX.1e,
- ormai abbandonato.} prevede inoltre la possibilità di associare le stesse ai
+ poi abbandonato.} prevede inoltre la possibilità di associare le stesse ai
singoli file eseguibili, in modo da poter stabilire quali capacità possono
essere utilizzate quando viene messo in esecuzione uno specifico programma; ma
il supporto per questa funzionalità è stato introdotto soltanto a partire dal
\textbf{Nome} & \textbf{Descrizione} \\
\hline
\hline
- \const{security}& Gli \textit{extended security attributes}: vengono
+ \texttt{security}&Gli \textit{extended security attributes}: vengono
utilizzati dalle estensioni di sicurezza del kernel (i
\itindex{Linux~Security~Modules} \textit{Linux
Security Modules}), per le realizzazione di meccanismi
evoluti di controllo di accesso come \index{SELinux}
SELinux o le \textit{capabilities} dei file di
sez.~\ref{sec:proc_capabilities}.\\
- \const{system} & Gli \textit{extended security attributes}: sono usati
+ \texttt{system} & Gli \textit{extended security attributes}: sono usati
dal kernel per memorizzare dati di sistema associati ai
file come le \itindex{Access~Control~List} ACL (vedi
sez.~\ref{sec:file_ACL}) o le \itindex{capabilities}
\textit{capabilities} (vedi
sez.~\ref{sec:proc_capabilities}).\\
- \const{trusted} & I \textit{trusted extended attributes}: vengono
+ \texttt{trusted}& I \textit{trusted extended attributes}: vengono
utilizzati per poter realizzare in user space
meccanismi che consentano di mantenere delle
informazioni sui file che non devono essere accessibili
ai processi ordinari.\\
- \const{user} & Gli \textit{extended user attributes}: utilizzati per
+ \texttt{user} & Gli \textit{extended user attributes}: utilizzati per
mantenere informazioni aggiuntive sui file (come il
\textit{mime-type}, la codifica dei caratteri o del
file) accessibili dagli utenti.\\
\end{functions}
La funzione alloca ed inizializza un'area di memoria che verrà usata per
-mantenere i dati di una ACL contenente fino ad un massimo di \const{count}
+mantenere i dati di una ACL contenente fino ad un massimo di \param{count}
voci. La funzione ritorna un valore di tipo \type{acl\_t}, da usare in tutte
le altre funzioni che operano sulla ACL. La funzione si limita alla
allocazione iniziale e non inserisce nessun valore nella ACL che resta vuota.
La funzione consente di assegnare la ACL contenuta in \param{acl} al file o
alla directory indicate dal pathname \param{path}, mentre con \param{type} si
-indica il tipo di ACL utilizzando le constanti di tab.~\ref{tab:acl_type}, ma
+indica il tipo di ACL utilizzando le costanti di tab.~\ref{tab:acl_type}, ma
si tenga presente che le ACL di default possono essere solo impostate
qualora \param{path} indichi una directory. Inoltre perché la funzione abbia
successo la ACL dovrà essere valida, e contenere tutti le voci necessarie,