X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=6e5abc51249421eb5f9f73c85f111dc5594a4157;hp=c8e6fab2bb388a33557ea2babe4b48dd6c669940;hb=3f50b8e3fd683f710e34a88436109157d328e1b6;hpb=0c4a9ed958f4797e1cf4dc90e0c0358e302956f5 diff --git a/filedir.tex b/filedir.tex index c8e6fab..6e5abc5 100644 --- a/filedir.tex +++ b/filedir.tex @@ -3323,18 +3323,18 @@ Si deve tener presente infatti che la lunghezza del file riportata in \var{st\_size} non è detto che corrisponda all'occupazione dello spazio su disco, e non solo perché la parte finale del file potrebbe riempire parzialmente un blocco. In un sistema unix-like infatti è possibile -l'esistenza dei cosiddetti \itindex{sparse~file} \textit{sparse file}, cioè -file in cui sono presenti dei ``\textsl{buchi}'' \index{file!\textit{hole}} -(\textit{holes} nella nomenclatura inglese) che si formano tutte le volte che -si va a scrivere su un file dopo aver eseguito uno spostamento oltre la sua -fine (tratteremo in dettaglio l'argomento in sez.~\ref{sec:file_lseek}). +l'esistenza dei cosiddetti \textit{sparse file}, cioè file in cui sono +presenti dei ``\textsl{buchi}'' (\textit{holes} nella nomenclatura inglese) +che si formano tutte le volte che si va a scrivere su un file dopo aver +eseguito uno spostamento oltre la sua fine (tratteremo in dettaglio +l'argomento in sez.~\ref{sec:file_lseek}). In questo caso si avranno risultati differenti a seconda del modo in cui si calcola la lunghezza del file, ad esempio il comando \cmd{du}, (che riporta il numero di blocchi occupati) potrà dare una dimensione inferiore, mentre se si legge dal file (ad esempio usando il comando \cmd{wc -c}), dato che in tal -caso per i ``\textsl{buchi}'' \index{file!\textit{hole}} vengono restituiti -degli zeri, si avrà lo stesso risultato di \cmd{ls}. +caso per i ``\textsl{buchi}'' vengono restituiti degli zeri, si avrà lo stesso +risultato di \cmd{ls}. Se è sempre possibile allargare un file, scrivendoci sopra o usando la funzione \func{lseek} (vedi sez.~\ref{sec:file_lseek}) per spostarsi oltre la @@ -3389,11 +3389,10 @@ perduti. Il comportamento in caso di lunghezza del file inferiore a \param{length} non è specificato e dipende dall'implementazione: il file può essere lasciato invariato o esteso fino alla lunghezza scelta. Nel caso di Linux viene esteso -con la creazione di un \index{file!\textit{hole}} \textsl{buco} nel -\itindex{sparse~file} file e ad una lettura si otterranno degli zeri, si tenga -presente però che questo comportamento è supportato solo per filesystem -nativi, ad esempio su un filesystem non nativo come il VFAT di Windows questo -non è possibile. +con la creazione di un \textsl{buco} nel file e ad una lettura si otterranno +degli zeri, si tenga presente però che questo comportamento è supportato solo +per filesystem nativi, ad esempio su un filesystem non nativo come il VFAT di +Windows questo non è possibile. \subsection{I tempi dei file} @@ -6462,14 +6461,13 @@ Con questo supporto e con le ulteriori modifiche introdotte con il kernel rivoluzionato, rendendolo più aderente alle intenzioni originali dello standard POSIX, rimuovendo il significato che fino ad allora aveva avuto la capacità \const{CAP\_SETPCAP} e cambiando le modalità di funzionamento del -cosiddetto \itindex{capabilities~bounding~set} \textit{capabilities bounding - set}. Ulteriori modifiche sono state apportate con il kernel 2.6.26 per -consentire la rimozione non ripristinabile dei privilegi di -amministratore. Questo fa sì che il significato ed il comportamento del kernel -finisca per dipendere dalla versione dello stesso e dal fatto che le nuove -\textit{file capabilities} siano abilitate o meno. Per capire meglio la -situazione e cosa è cambiato conviene allora spiegare con maggiori dettagli -come funziona il meccanismo delle \textit{capabilities}. +cosiddetto \textit{capabilities bounding set}. Ulteriori modifiche sono state +apportate con il kernel 2.6.26 per consentire la rimozione non ripristinabile +dei privilegi di amministratore. Questo fa sì che il significato ed il +comportamento del kernel finisca per dipendere dalla versione dello stesso e +dal fatto che le nuove \textit{file capabilities} siano abilitate o meno. Per +capire meglio la situazione e cosa è cambiato conviene allora spiegare con +maggiori dettagli come funziona il meccanismo delle \textit{capabilities}. Il primo passo per frazionare i privilegi garantiti all'amministratore, supportato fin dalla introduzione iniziale del kernel 2.2, è stato quello in