X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=b88d34bbd1368b659d8c30ab7ab4b57cd59596f5;hp=7720071700509a6dbbfd5891866c6e83e194e2c8;hb=8e2e77dff8f3cffb28ddf982280dff6fc015eb19;hpb=1add1cb54c1754ed030033b994a68c6678d7d275 diff --git a/filedir.tex b/filedir.tex index 7720071..b88d34b 100644 --- a/filedir.tex +++ b/filedir.tex @@ -78,7 +78,7 @@ verrà inserita nella tabella, ed il nuovo filesystem comparirà in \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/file_system_type.h} \end{minipage} \normalsize @@ -178,7 +178,7 @@ struttura viene allocata e trascritti all'indietro se modificati. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/inode.h} \end{minipage} \normalsize @@ -279,7 +279,7 @@ di dati) dovrà invece ricorrere a quelle fornite dal driver del dispositivo. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/file.h} \end{minipage} \normalsize @@ -312,7 +312,7 @@ tab.~\ref{tab:file_file_operations} le più significative. \textsl{\code{llseek}} & Sposta la posizione corrente sul file (vedi sez.~\ref{sec:file_lseek}).\\ \textsl{\code{ioctl}} & Accede alle operazioni di controllo - (vedi sez.~\ref{sec:file_ioctl}).\\ + (vedi sez.~\ref{sec:file_fcntl_ioctl}).\\ \textsl{\code{readdir}}& Legge il contenuto di una directory (vedi sez.~\ref{sec:file_dir_read}).\\ \textsl{\code{poll}} & Usata nell'I/O multiplexing (vedi @@ -813,7 +813,7 @@ nell'elenco seguente: tutte le directory del filesystem, ma su alcuni filesystem è possibile impostarla a livello di singole directory o per i sottorami di una directory con il comando \cmd{chattr}.\footnote{questo avviene tramite delle opportune - \texttt{ioctl} (vedi sez.~\ref{sec:file_ioctl}).} + \texttt{ioctl} (vedi sez.~\ref{sec:file_fcntl_ioctl}).} Questo consente di ridurre al minimo il rischio di perdita dei dati delle directory in caso di crollo improvviso del sistema, al costo di una certa @@ -1096,7 +1096,7 @@ prototipo è: \end{funcproto} \footnotetext{più precisamente la \itindex{capabilities} capacità - \const{CAP\_SYS\_ADMIN}.} + \const{CAP\_SYS\_ADMIN}, vedi sez.~\ref{sec:proc_capabilities}.} La funzione prende il nome della directory su cui il filesystem è montato e non il file o il dispositivo che è stato montato,\footnote{questo è vero a @@ -1153,18 +1153,18 @@ eseguita una sincronizzazione dei dati. \textbf{Costante} & \textbf{Descrizione}\\ \hline \hline - \const{MNT\_FORCE} & forza lo smontaggio del filesystem anche se questo è + \const{MNT\_FORCE} & Forza lo smontaggio del filesystem anche se questo è occupato (presente dai kernel della serie 2.2).\\ - \const{MNT\_DETACH} & esegue uno smontaggio ``\textsl{pigro}'', in cui si + \const{MNT\_DETACH} & Esegue uno smontaggio ``\textsl{pigro}'', in cui si blocca l'accesso ma si aspetta che il filesystem si liberi (presente dal kernel 2.4.11 e dalla \acr{glibc} 2.11).\\ - \const{MNT\_EXPIRE} & se non occupato marca un \itindex{mount~point} + \const{MNT\_EXPIRE} & Se non occupato marca un \itindex{mount~point} \textit{mount point} come ``\textsl{in scadenza}'' in modo che ad una successiva chiamata senza utilizzo del filesystem questo venga smontato (presente dal kernel 2.6.8 e dalla \acr{glibc} 2.11).\\ - \const{UMOUNT\_NOFOLLOW}& non dereferenzia \param{target} se questo è un + \const{UMOUNT\_NOFOLLOW}& Non dereferenzia \param{target} se questo è un collegamento simbolico (vedi sez.~\ref{sec:link_symlink_rename}) evitando problemi di sicurezza (presente dal kernel 2.6.34).\\ @@ -1244,7 +1244,7 @@ del filesystem stesso. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/statfs.h} \end{minipage} \normalsize @@ -2168,7 +2168,7 @@ restituito il valore \val{NULL}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/dirent.c} \end{minipage} \normalsize @@ -2226,8 +2226,8 @@ Ottenuta allora con \code{offsetof(struct dirent, d\_name)} la dimensione della parte iniziale della struttura, basterà sommarci la dimensione massima dei nomi dei file nel filesystem che si sta usando, che si può ottenere attraverso la funzione \func{pathconf} (per la quale si rimanda a -sez.~\ref{sec:sys_pathconf}) più un ulteriore carattere per la terminazione -della stringa. +sez.~\ref{sec:sys_file_limits}) più un ulteriore carattere per la terminazione +della stringa. Per quanto riguarda il significato dei campi opzionali, il campo \var{d\_type} indica il tipo di file (se fifo, directory, collegamento simbolico, ecc.), e @@ -3134,7 +3134,7 @@ sez.~\ref{sec:file_file_times}). \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/stat.h} \end{minipage} \normalsize @@ -3151,7 +3151,7 @@ introdotti per rendersi indipendenti dalla piattaforma. Benché la descrizione dei commenti di fig.~\ref{fig:file_stat_struct} sia abbastanza chiara, vale la pena illustrare maggiormente il significato dei -campi di \structd{stat} su cui non torneremo in maggior dettaglio nel resto di +campi di \struct{stat} su cui non torneremo in maggior dettaglio nel resto di questa sezione: \begin{itemize*} @@ -3211,13 +3211,13 @@ tipo di file in maniera standardizzata. \textbf{Macro} & \textbf{Tipo del file} \\ \hline \hline - \macro{S\_ISREG}\texttt{(m)} & file normale.\\ - \macro{S\_ISDIR}\texttt{(m)} & directory.\\ - \macro{S\_ISCHR}\texttt{(m)} & dispositivo a caratteri.\\ - \macro{S\_ISBLK}\texttt{(m)} & dispositivo a blocchi.\\ - \macro{S\_ISFIFO}\texttt{(m)} & fifo.\\ - \macro{S\_ISLNK}\texttt{(m)} & collegamento simbolico.\\ - \macro{S\_ISSOCK}\texttt{(m)} & socket.\\ + \macro{S\_ISREG}\texttt{(m)} & File normale.\\ + \macro{S\_ISDIR}\texttt{(m)} & Directory.\\ + \macro{S\_ISCHR}\texttt{(m)} & Dispositivo a caratteri.\\ + \macro{S\_ISBLK}\texttt{(m)} & Dispositivo a blocchi.\\ + \macro{S\_ISFIFO}\texttt{(m)} & Fifo.\\ + \macro{S\_ISLNK}\texttt{(m)} & Collegamento simbolico.\\ + \macro{S\_ISSOCK}\texttt{(m)} & Socket.\\ \hline \end{tabular} \caption{Macro per i tipi di file (definite in \headfile{sys/stat.h}).} @@ -3250,9 +3250,11 @@ come argomento il valore di \var{st\_mode}. \const{S\_IFCHR} & 0020000 & Dispositivo a caratteri.\\ \const{S\_IFIFO} & 0010000 & Fifo.\\ \hline - \const{S\_ISUID} & 0004000 & \itindex{suid~bit} \acr{suid} bit.\\ - \const{S\_ISGID} & 0002000 & \itindex{sgid~bit} \acr{sgid} bit.\\ - \const{S\_ISVTX} & 0001000 & \itindex{sticky~bit} \acr{sticky} bit.\\ + \const{S\_ISUID} & 0004000 & Set user ID \itindex{suid~bit} (\acr{suid}) + bit.\\ + \const{S\_ISGID} & 0002000 & Set group ID \itindex{sgid~bit} + (\acr{sgid}) bit.\\ + \const{S\_ISVTX} & 0001000 & \itindex{sticky~bit} \acr{Sticky} bit.\\ \hline \const{S\_IRWXU} & 00700 & Maschera per i permessi del proprietario.\\ \const{S\_IRUSR} & 00400 & Il proprietario ha permesso di lettura.\\ @@ -3630,7 +3632,7 @@ puntatore nullo verrà impostato il tempo corrente. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/utimbuf.h} \end{minipage} \normalsize @@ -3645,9 +3647,9 @@ tempo corrente ed è sufficiente avere accesso in scrittura al file o essere proprietari del file o avere i privilegi di amministratore. Se invece si è specificato un valore diverso la funzione avrà successo solo se si è proprietari del file o se si hanno i privilegi di amministratore.\footnote{per - essere precisi la \itindex{capabilities} capacità \const{CAP\_FOWNER}.} In -entrambi i casi per verificare la proprietà del file viene utilizzato -l'\ids{UID} effettivo del processo. + essere precisi la \itindex{capabilities} capacità \const{CAP\_FOWNER}, vedi + sez.~\ref{sec:proc_capabilities}.} In entrambi i casi per verificare la +proprietà del file viene utilizzato l'\ids{UID} effettivo del processo. Si tenga presente che non è possibile modificare manualmente il tempo di cambiamento di stato del file, che viene aggiornato direttamente dal kernel @@ -3696,7 +3698,7 @@ puntatore nullo di nuovo verrà utilizzato il tempo corrente. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/timeval.h} \end{minipage} \normalsize @@ -3789,7 +3791,7 @@ un valore dei tempi con una precisione fino al nanosecondo. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/timespec.h} \end{minipage} \normalsize @@ -4111,9 +4113,10 @@ Entrambi questi attributi attivano queste restrizioni a livello di filesystem, per cui a differenza dei permessi ordinari esse varranno per qualunque utente compreso l'amministratore. L'amministratore è l'unico che può attivare o disattivare questi attributi,\footnote{più precisamente un processo con la - \itindex{capabilities} capacità \const{CAP\_LINUX\_IMMUTABLE}.} e potendo -rimuoverli è comunque capace di tornare in grado di eseguire qualunque -operazione su un file immutabile o \textit{append-only}. + \itindex{capabilities} capacità \const{CAP\_LINUX\_IMMUTABLE}, vedi + sez.~\ref{sec:proc_capabilities}.} e potendo rimuoverli è comunque capace di +tornare in grado di eseguire qualunque operazione su un file immutabile o +\textit{append-only}. \itindend{file~attributes} @@ -4386,9 +4389,9 @@ file. \textbf{\param{mode}} & \textbf{Valore} & \textbf{Significato} \\ \hline \hline - \const{S\_ISUID} & 04000 & Set user ID \itindex{suid~bit}.\\ - \const{S\_ISGID} & 02000 & Set group ID \itindex{sgid~bit}.\\ - \const{S\_ISVTX} & 01000 & Sticky bit \itindex{sticky~bit}.\\ + \const{S\_ISUID} & 04000 & Set user ID \itindex{suid~bit} bit.\\ + \const{S\_ISGID} & 02000 & Set group ID \itindex{sgid~bit} bit.\\ + \const{S\_ISVTX} & 01000 & Sticky \itindex{sticky~bit} bit.\\ \hline \const{S\_IRWXU} & 00700 & L'utente ha tutti i permessi.\\ \const{S\_IRUSR} & 00400 & L'utente ha il permesso di lettura.\\ @@ -5200,21 +5203,21 @@ la capacità \itindex{capabilities} \const{CAP\_FOWNER}. \textbf{Tipo} & \textbf{Descrizione} \\ \hline \hline - \const{ACL\_USER\_OBJ} & voce che contiene i diritti di accesso del + \const{ACL\_USER\_OBJ} & Voce che contiene i diritti di accesso del proprietario del file.\\ - \const{ACL\_USER} & voce che contiene i diritti di accesso per + \const{ACL\_USER} & Voce che contiene i diritti di accesso per l'utente indicato dal rispettivo qualificatore.\\ - \const{ACL\_GROUP\_OBJ}& voce che contiene i diritti di accesso del + \const{ACL\_GROUP\_OBJ}& Voce che contiene i diritti di accesso del gruppo proprietario del file.\\ - \const{ACL\_GROUP} & voce che contiene i diritti di accesso per + \const{ACL\_GROUP} & Voce che contiene i diritti di accesso per il gruppo indicato dal rispettivo qualificatore.\\ - \const{ACL\_MASK} & voce che contiene la maschera dei massimi + \const{ACL\_MASK} & Voce che contiene la maschera dei massimi permessi di accesso che possono essere garantiti da voci del tipo \const{ACL\_USER}, \const{ACL\_GROUP} e \const{ACL\_GROUP\_OBJ}.\\ - \const{ACL\_OTHER} & voce che contiene i diritti di accesso di chi + \const{ACL\_OTHER} & Voce che contiene i diritti di accesso di chi non corrisponde a nessuna altra voce dell'ACL.\\ \hline \end{tabular} @@ -5691,23 +5694,23 @@ tab.~\ref{tab:acl_to_text_options}. \textbf{Tipo} & \textbf{Descrizione} \\ \hline \hline - \const{TEXT\_ABBREVIATE} & stampa le voci in forma abbreviata.\\ + \const{TEXT\_ABBREVIATE} & Stampa le voci in forma abbreviata.\\ \const{TEXT\_NUMERIC\_IDS} & non effettua la risoluzione numerica di \ids{UID} e \ids{GID}.\\ - \const{TEXT\_SOME\_EFFECTIVE}& per ciascuna voce che contiene permessi che + \const{TEXT\_SOME\_EFFECTIVE}& Per ciascuna voce che contiene permessi che vengono eliminati dalla \const{ACL\_MASK} viene generato un commento con i permessi effettivamente risultanti; il commento è separato con un tabulatore.\\ - \const{TEXT\_ALL\_EFFECTIVE} & viene generato un commento con i permessi + \const{TEXT\_ALL\_EFFECTIVE} & Viene generato un commento con i permessi effettivi per ciascuna voce che contiene permessi citati nella \const{ACL\_MASK}, anche quando questi non vengono modificati da essa; il commento è separato con un tabulatore.\\ - \const{TEXT\_SMART\_INDENT} & da usare in combinazione con le precedenti - \const{TEXT\_SOME\_EFFECTIVE} e - \const{TEXT\_ALL\_EFFECTIVE} aumenta + \const{TEXT\_SMART\_INDENT} & Da usare in combinazione con le precedenti + opzioni \const{TEXT\_SOME\_EFFECTIVE} e + \const{TEXT\_ALL\_EFFECTIVE}, aumenta automaticamente il numero di spaziatori prima degli eventuali commenti in modo da mantenerli allineati.\\ @@ -5754,9 +5757,10 @@ buffer di dimensione sufficiente, il suo prototipo è: } \end{funcproto} -Ottenuta con \func{acl\_size} la dimensione per il buffer lo si potrà allocare -direttamente con \func{malloc}. La rappresentazione binaria di una ACL si -potrà poi ottenere con la funzione \funcd{acl\_copy\_ext}, il cui prototipo è: +Ottenuta con \func{acl\_size} la dimensione per il buffer di una ACL lo si +potrà allocare direttamente con \func{malloc}. La rappresentazione binaria di +una ACL si potrà invece ottenere con la funzione \funcd{acl\_copy\_ext}, il +cui prototipo è: \begin{funcproto}{ \fhead{sys/types.h} @@ -6179,7 +6183,7 @@ singolo utente o gruppo. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.9\textwidth} \includestruct{listati/dqblk.h} \end{minipage} \normalsize @@ -6270,11 +6274,11 @@ identificate tramite le costanti di tab.~\ref{tab:quotactl_id_format}. \textbf{Identificatore} & \textbf{Descrizione} \\ \hline \hline - \const{QFMT\_VFS\_OLD}& il vecchio (ed obsoleto) formato delle quote.\\ - \const{QFMT\_VFS\_V0} & la versione 0 usata dal VFS di Linux, supporta + \const{QFMT\_VFS\_OLD}& Il vecchio (ed obsoleto) formato delle quote.\\ + \const{QFMT\_VFS\_V0} & La versione 0 usata dal VFS di Linux, supporta \ids{UID} e \ids{GID} a 32 bit e limiti fino a $2^{42}$ byte e $2^{32}$ file.\\ - \const{QFMT\_VFS\_V1} & la versione 1 usata dal VFS di Linux, supporta + \const{QFMT\_VFS\_V1} & La versione 1 usata dal VFS di Linux, supporta \ids{UID} e \ids{GID} a 32 bit e limiti fino a $2^{64}$ byte e $2^{64}$ file.\\ \hline @@ -6296,7 +6300,7 @@ la cui definizione è riportata in fig.~\ref{fig:dqinfo_struct}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/dqinfo.h} \end{minipage} \normalsize @@ -6997,7 +7001,8 @@ sez.~\ref{sec:file_xattr} e \ref{sec:file_ACL}), poter ignorare lo \itindex{sticky~bit} \textit{sticky bit} nella cancellazione dei file (vedi sez.~\ref{sec:file_special_perm}), la possibilità di impostare il flag di \const{O\_NOATIME} con \func{open} e \func{fcntl} (vedi -sez.~\ref{sec:file_open_close} e sez.~\ref{sec:file_fcntl}) senza restrizioni. +sez.~\ref{sec:file_open_close} e sez.~\ref{sec:file_fcntl_ioctl}) senza +restrizioni. Una seconda capacità che copre diverse operazioni, in questo caso riguardanti la rete, è \const{CAP\_NET\_ADMIN}, che consente di impostare le opzioni @@ -7092,7 +7097,7 @@ presente.\footnote{e non è chiaro neanche quanto sia mai stato davvero \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/cap_user_header_t.h} \end{minipage} \normalsize