\textsl{\code{llseek}} & Sposta la posizione corrente sul file (vedi
sez.~\ref{sec:file_lseek}).\\
\textsl{\code{ioctl}} & Accede alle operazioni di controllo
\textsl{\code{llseek}} & Sposta la posizione corrente sul file (vedi
sez.~\ref{sec:file_lseek}).\\
\textsl{\code{ioctl}} & Accede alle operazioni di controllo
\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
\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
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
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
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
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
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
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
\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).\\
\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).\\
collegamento simbolico (vedi
sez.~\ref{sec:link_symlink_rename}) evitando
problemi di sicurezza (presente dal kernel 2.6.34).\\
collegamento simbolico (vedi
sez.~\ref{sec:link_symlink_rename}) evitando
problemi di sicurezza (presente dal kernel 2.6.34).\\
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
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
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
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
Benché la descrizione dei commenti di fig.~\ref{fig:file_stat_struct} sia
abbastanza chiara, vale la pena illustrare maggiormente il significato dei
Benché la descrizione dei commenti di fig.~\ref{fig:file_stat_struct} sia
abbastanza chiara, vale la pena illustrare maggiormente il significato dei
- \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.\\
- \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.\\
\hline
\const{S\_IRWXU} & 00700 & Maschera per i permessi del proprietario.\\
\const{S\_IRUSR} & 00400 & Il proprietario ha permesso di lettura.\\
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
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
Si tenga presente che non è possibile modificare manualmente il tempo di
cambiamento di stato del file, che viene aggiornato direttamente dal kernel
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
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}.
- \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.\\
\hline
\const{S\_IRWXU} & 00700 & L'utente ha tutti i permessi.\\
\const{S\_IRUSR} & 00400 & L'utente ha il permesso di lettura.\\
permessi di accesso che possono essere garantiti
da voci del tipo \const{ACL\_USER},
\const{ACL\_GROUP} e \const{ACL\_GROUP\_OBJ}.\\
permessi di accesso che possono essere garantiti
da voci del tipo \const{ACL\_USER},
\const{ACL\_GROUP} e \const{ACL\_GROUP\_OBJ}.\\
vengono eliminati dalla \const{ACL\_MASK}
viene generato un commento con i permessi
effettivamente risultanti; il commento è
separato con un tabulatore.\\
vengono eliminati dalla \const{ACL\_MASK}
viene generato un commento con i permessi
effettivamente risultanti; il commento è
separato con un tabulatore.\\
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.\\
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
-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 è:
- \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
\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
\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
Una seconda capacità che copre diverse operazioni, in questo caso riguardanti
la rete, è \const{CAP\_NET\_ADMIN}, che consente di impostare le opzioni
Una seconda capacità che copre diverse operazioni, in questo caso riguardanti
la rete, è \const{CAP\_NET\_ADMIN}, che consente di impostare le opzioni