From 40efb7fcbad4c48de800a99fba96389eaed6abc8 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Mon, 25 Sep 2006 19:37:14 +0000 Subject: [PATCH] Alcune correzioni minimali --- errors.tex | 20 ++++++++++++++------ filedir.tex | 16 ++++++++-------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/errors.tex b/errors.tex index ab119c8..3028dc6 100644 --- a/errors.tex +++ b/errors.tex @@ -306,8 +306,11 @@ specificati nelle sezioni precedenti. carenza è spesso indice di qualcosa che non va nel sistema, è pertanto opportuno segnalare esplicitamente questo tipo di errori. \end{itemize} -\item \errcode{EWOULDBLOCK} \textit{Operation would block}. In Linux è identico - a \errcode{EAGAIN}. +\item \errcode{EWOULDBLOCK} \textit{Operation would block}. Indica che + l'operazione richiesta si bloccherebbe, ad esempio se si apre un file in + modalità non bloccante, una \func{read} restituirebbe questo errore per + indicare che non ci sono dati; in Linux è identico a \errcode{EAGAIN}, ma in + altri sistemi può essere specificato un valore diverso. \item \errcode{EINPROGRESS} \textit{Operation now in progress}. Operazione in corso. Un'operazione che non può essere completata immediatamente è stata avviata su un oggetto posto in modalità non-bloccante. Questo errore viene @@ -363,18 +366,23 @@ messaggio. non è consentito. Non viene mai generato su Linux. \item \errcode{EIDRM} \textit{Identifier removed}. Indica che l'oggetto del - \textit{SysV IPC} cui si fa riferimento è stato cancellato. + \textit{SysV IPC} a cui si fa riferimento è stato cancellato. \item \errcode{ENODATA} \textit{No data available}. Viene indicato da Posix come restituito da una \func{read} eseguita su un file descriptor in modalità non bloccante quando non ci sono dati. In realtà in questo caso - viene utilizzato \errcode{EAGAIN}. In Linux viene utilizzato quando dalle - funzioni per la gestione degli attributi estesi dei file quando il nome + viene utilizzato \errcode{EAGAIN}. In Linux viene utilizzato dalle funzioni + per la gestione degli attributi estesi dei file quando il nome dell'attributo richiesto non viene trovato. % TODO referenziare la trattazione degli attributi estesi dei file -\item \errcode{ENOLINK} \textit{Link has been severed}. +\item \errcode{ENOLINK} \textit{Link has been severed}. È un errore il cui + valore è indicato come \textsl{riservato} nelle \textit{Single Unix + Specification}. Dovrebbe indicare l'impossibilità di accedere ad un file a + causa di un errore sul collegamento di rete, ma non ci sono indicazioni + precise del suo utilizzo. Per quanto riguarda Linux viene riportato nei + sorgenti del kernel in alcune operazioni relative ad operazioni di rete. \item \errcode{ENOMSG} \textit{No message of desired type}. Indica che in una coda di messaggi del \textit{SysV IPC} non è presente nessun messaggio del diff --git a/filedir.tex b/filedir.tex index 67476c9..a268c13 100644 --- a/filedir.tex +++ b/filedir.tex @@ -269,7 +269,7 @@ necessario lo spostamento di un file fra directory diverse. Eventuali altri link diretti allo stesso file non vengono influenzati. Il comportamento della funzione è diverso a seconda che si voglia rinominare -un file o una directory; se ci riferisce a un file allora \param{newpath}, se +un file o una directory; se ci riferisce ad un file allora \param{newpath}, se esiste, non deve essere una directory (altrimenti si ha l'errore \errcode{EISDIR}). Nel caso \param{newpath} indichi un file esistente questo viene cancellato e rimpiazzato (atomicamente). @@ -280,7 +280,7 @@ essere una directory vuota, altrimenti si avranno gli errori \errcode{ENOTDIR} \param{newpath} non può contenere \param{oldpath} altrimenti si avrà un errore \errcode{EINVAL}. -Se \param{oldpath} si riferisce a un link simbolico questo sarà rinominato; se +Se \param{oldpath} si riferisce ad un link simbolico questo sarà rinominato; se \param{newpath} è un link simbolico verrà cancellato come qualunque altro file. Infine qualora \param{oldpath} e \param{newpath} siano due nomi dello stesso file lo standard POSIX prevede che la funzione non dia errore, e non @@ -1342,7 +1342,7 @@ sez.~\ref{sec:file_access_control}). La lettura delle informazioni relative ai file è fatta attraverso la famiglia delle funzioni \func{stat} (\funcd{stat}, \funcd{fstat} e \funcd{lstat}); questa è la funzione che ad esempio usa il comando \cmd{ls} per poter ottenere -e mostrare tutti i dati relativi a un file. I prototipi di queste funzioni +e mostrare tutti i dati relativi ad un file. I prototipi di queste funzioni sono i seguenti: \begin{functions} \headdecl{sys/types.h} @@ -2035,7 +2035,7 @@ con questi bit l'uso della semantica BSD nella creazione di nuovi file (si veda sez.~\ref{sec:file_ownership_management} per una spiegazione dettagliata al proposito). -Infine Linux utilizza il bit \acr{sgid} per una ulteriore estensione mutuata +Infine Linux utilizza il bit \acr{sgid} per un'ulteriore estensione mutuata da SVr4. Il caso in cui un file ha il bit \acr{sgid} impostato senza che lo sia anche il corrispondente bit di esecuzione viene utilizzato per attivare per quel file il \itindex{mandatory~locking} \textit{mandatory locking} @@ -2088,7 +2088,7 @@ $ ls -ld /tmp drwxrwxrwt 6 root root 1024 Aug 10 01:03 /tmp \end{verbatim}%$ quindi con lo \textit{sticky bit} bit impostato. In questo modo qualunque -utente nel sistema può c reare dei file in questa directory (che, come +utente nel sistema può creare dei file in questa directory (che, come suggerisce il nome, è normalmente utilizzata per la creazione di file temporanei), ma solo l'utente che ha creato un certo file potrà cancellarlo o rinominarlo. In questo modo si evita che un utente possa, più o meno @@ -2262,9 +2262,9 @@ in particolare accade che: stato indicato in \param{mode}. \item per quanto detto in sez.~\ref{sec:file_ownership_management} riguardo la creazione dei nuovi file, si può avere il caso in cui il file creato da un - processo è assegnato a un gruppo per il quale il processo non ha privilegi. + processo è assegnato ad un gruppo per il quale il processo non ha privilegi. Per evitare che si possa assegnare il bit \itindex{sgid~bit} \acr{sgid} ad - un file appartenente a un gruppo per cui non si hanno diritti, questo viene + un file appartenente ad un gruppo per cui non si hanno diritti, questo viene automaticamente cancellato da \param{mode} (senza notifica di errore) qualora il gruppo del file non corrisponda a quelli associati al processo (la cosa non avviene quando l'user-ID effettivo del processo è zero). @@ -2272,7 +2272,7 @@ in particolare accade che: Per alcuni filesystem\footnote{i filesystem più comuni (\textsl{ext2}, \textsl{ext3}, \textsl{reiserfs}) supportano questa caratteristica, che è - mutuata da BSD.} è inoltre prevista una ulteriore misura di sicurezza, volta + mutuata da BSD.} è inoltre prevista un'ulteriore misura di sicurezza, volta a scongiurare l'abuso dei \itindex{suid~bit} bit \acr{suid} e \acr{sgid}; essa consiste nel cancellare automaticamente questi bit dai permessi di un file qualora un processo che non appartenga all'amministratore\footnote{per la -- 2.30.2