X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=d1d8606e0b6daa1513fd28cda53ddafa996b6c99;hp=c389a7de87d5ac351a71c5d31fb5cb79e8b9c501;hb=247c7ba624f39b283f9e85816c0616348f39c1b6;hpb=486c2be2a052783e6dec09bc288c76ecaa4f21e6 diff --git a/filedir.tex b/filedir.tex index c389a7d..d1d8606 100644 --- a/filedir.tex +++ b/filedir.tex @@ -60,7 +60,7 @@ principali, come risultano dalla man page, sono le seguenti: dandogli nome \var{newpath}. \bodydesc{La funzione restituisce zero in caso di successo e -1 in - caso di errore. La variabile \var{errno} viene settata + caso di errore. La variabile \var{errno} viene impostata opportunamente, i principali codici di errore sono: \begin{errlist} \item[\macro{EXDEV}] \var{oldpath} e \var{newpath} non sono sullo @@ -119,7 +119,7 @@ suo prototipo \bodydesc{La funzione restituisce zero in caso di successo e -1 per un errore, nel qual caso il file non viene toccato. La variabile - \var{errno} viene settata secondo i seguenti codici di errore: + \var{errno} viene impostata secondo i seguenti codici di errore: \begin{errlist} \item[\macro{EISDIR}] \var{pathname} si riferisce ad una directory (valore specifico ritornato da Linux che non consente l'uso di @@ -138,9 +138,9 @@ Per cancellare una voce in una directory scrittura su di essa (dato che si va a rimuovere una voce dal suo contenuto) e il diritto di esecuzione sulla directory che la contiene (torneremo in dettaglio sui permessi e gli attributi in \secref{sec:file_access_control}), -se inoltre lo \textit{sticky} bit è settato occorrerà anche essere proprietari -del file o proprietari della directory (o root, per cui nessuna delle -restrizioni è applicata). +se inoltre lo \textit{sticky} bit è impostato occorrerà anche essere +proprietari del file o proprietari della directory (o root, per cui nessuna +delle restrizioni è applicata). Una delle caratteristiche di queste funzioni è che la creazione/rimozione del nome dalla directory e l'incremento/decremento del numero di riferimenti @@ -198,7 +198,7 @@ nello stesso filesystem) si usa invece la funzione \func{rename},\footnote{la \bodydesc{La funzione restituisce zero in caso di successo e -1 per un errore, nel qual caso il file non viene toccato. La variabile - \var{errno} viene settata secondo i seguenti codici di errore: + \var{errno} viene impostata secondo i seguenti codici di errore: \begin{errlist} \item[\macro{EISDIR}] \var{newpath} è una directory mentre \var{oldpath} non è una directory. @@ -362,7 +362,7 @@ la funzione \func{readlink}, il cui prototipo \bodydesc{La funzione restituisce il numero di caratteri letti dentro \var{buff} o -1 per un errore, nel qual caso la variabile - \var{errno} viene settata a: + \var{errno} viene impostata a: \begin{errlist} \item[\macro{EINVAL}] \param{path} non è un link simbolico o \param{size} non è positiva. @@ -406,7 +406,7 @@ Per questo motivo il kernel e le librerie prevedono che nella risoluzione di un pathname possano essere seguiti un numero limitato di link simbolici, il cui valore limite è specificato dalla costante \macro{MAXSYMLINKS}. Qualora questo limite venga superato viene generato un errore ed \var{errno} viene -settata al valore \macro{ELOOP}. +impostata al valore \macro{ELOOP}. Un punto da tenere sempre presente è che, come abbiamo accennato, un link simbolico può fare riferimento anche ad un file che non esiste; ad esempio @@ -465,7 +465,7 @@ standard \file{.} e \file{..}). I permessi di accesso (vedi la trattazione in \secref{sec:file_access_control}) specificati da \var{mode} (i cui possibili valori sono riportati in \tabref{tab:file_permission_const}) sono modificati dalla maschera di creazione dei file (si veda \secref{sec:file_umask}). La -titolarità della nuova directory è settata secondo quanto riportato in +titolarità della nuova directory è impostata secondo quanto riportato in \secref{sec:file_ownership}. La seconda funzione serve ad eliminare una directory già vuota (la directory @@ -480,8 +480,8 @@ suo prototipo \begin{errlist} \item[\macro{EPERM}] Il filesystem non supporta la cancellazione di directory, oppure la directory che contiene \var{dirname} ha lo sticky bit - settato e l'\textit{effective user id} del processo non corrisponde al - proprietario della directory. + impostato e l'\textit{effective user id} del processo non corrisponde al + proprietario della directory. \item[\macro{EACCESS}] Non c'è il permesso di scrittura per la directory che contiene la directory che si vuole cancellare, o non c'è il permesso di attraversare (esecuzione) una delle directory specificate in @@ -512,7 +512,7 @@ degli altri tipi di file speciali, come i file di dispositivo e le fifo (i socket sono un caso a parte, che vedremo in \capref{cha:socket_intro}). La manipolazione delle caratteristiche di questi file e la loro cancellazione -può essere effettuata con le stesse funzioni che operano sui file normali; ma +può essere effettuata con le stesse funzioni che operano sui file regolari; ma quando li si devono creare sono necessarie delle funzioni apposite. La prima di queste funzioni è \func{mknod}, il suo prototipo è: \begin{functions} @@ -539,18 +539,18 @@ di queste funzioni \end{functions} La funzione permette di creare un file speciale, ma si può usare anche per -creare file normali e fifo; l'argomento \param{mode} specifica il tipo di file -che si vuole creare ed i relativi permessi, secondo i valori riportati in +creare file regolari e fifo; l'argomento \param{mode} specifica il tipo di +file che si vuole creare ed i relativi permessi, secondo i valori riportati in \tabref{tab:file_mode_flags}, che vanno combinati con un OR binario. I permessi sono comunque modificati nella maniera usuale dal valore di \var{umask} (si veda \secref{sec:file_umask}). Per il tipo di file può essere specificato solo uno fra: \macro{S\_IFREG} per -un file normale (che sarà creato vuoto), \macro{S\_IFBLK} per un device a +un file regolare (che sarà creato vuoto), \macro{S\_IFBLK} per un device a blocchi, \macro{S\_IFCHR} per un device a caratteri e \macro{S\_IFIFO} per una fifo. Un valore diverso comporterà l'errore \macro{EINVAL}. Qualora si sia specificato in \param{mode} un file di dispositivo, il valore di \param{dev} -viene usato per indicare a quale dispositivo si fa riferimento. +viene usato per indicare a quale dispositivo si fa riferimento. Solo l'amministratore può creare un file di dispositivo o un file regolare usando questa funzione; ma in Linux\footnote{la funzione non è prevista dallo @@ -612,7 +612,7 @@ directory corrente o directory di lavoro (\textit{current working directory}) che è quella a cui si fa riferimento quando un filename è espresso in forma relativa, dove il ``relativa'' fa riferimento appunto a questa directory. -Quando un utente effettua il login questa directory viene settata alla +Quando un utente effettua il login questa directory viene impostata alla \textit{home directory} del suo account. Il comando \cmd{cd} della shell consente di cambiarla a piacere, spostandosi da una directory ad un'altra, il comando \cmd{pwd} la stampa sul terminale. Siccome la directory corrente @@ -630,7 +630,7 @@ apposita funzione di libreria, \func{getcwd}, il cui prototipo \bodydesc{La funzione restituisce il puntatore \var{buffer} se riesce, \macro{NULL} se fallisce, in quest'ultimo caso la variabile - \var{errno} è settata con i seguenti codici di errore: + \var{errno} è impostata con i seguenti codici di errore: \begin{errlist} \item[\macro{EINVAL}] L'argomento \var{size} è zero e \var{buffer} non è nullo. @@ -676,7 +676,7 @@ appunto per \textit{change directory}, il suo prototipo Cambia la directory di lavoro corrente in \param{pathname}. \bodydesc{La funzione restituisce 0 in caso di successo e -1 per un errore, - nel qual caso \var{errno} viene settata a: + nel qual caso \var{errno} viene impostata a: \begin{errlist} \item[\macro{ENOTDIR}] Non si è specificata una directory. \item[\macro{EACCESS}] Manca il permesso di ricerca su uno dei componenti di @@ -696,7 +696,7 @@ usa \func{fchdir}, il cui prototipo pathname. \bodydesc{La funzione restituisce zero in caso di successo e -1 per un - errore, in caso di errore \var{errno} viene settata ai valori + errore, in caso di errore \var{errno} viene impostata ai valori \macro{EBADF} o \macro{EACCES}.} \end{prototype} \noindent anche in questo caso \param{fd} deve essere un file descriptor @@ -745,7 +745,7 @@ esplicitamente, il suo prototipo non esistente al momento dell'invocazione. \bodydesc{La funzione ritorna il puntatore alla stringa con il nome o - \macro{NULL} in caso di fallimento, \var{errno} viene settata a + \macro{NULL} in caso di fallimento, \var{errno} viene impostata a \macro{ENOMEM} qualora fallisca l'allocazione della stringa.} \end{prototype} @@ -780,7 +780,7 @@ POSIX definisce la funzione \func{tempfile}, il cui prototipo \bodydesc{La funzione ritorna il puntatore allo stream associato al file temporaneo in caso di successo e \macro{NULL} in caso di errore, nel qual - caso \var{errno} viene settata a + caso \var{errno} viene impostata a \begin{errlist} \item[\macro{EINTR}] La funzione è stata interrotta da un segnale. \item[\macro{EEXIST}] Non è stato possibile generare un nome univoco. @@ -808,7 +808,7 @@ il suo prototipo \bodydesc{La funzione ritorna il puntatore \param{template} in caso di successo e \macro{NULL} in caso di errore, nel qual caso \var{errno} viene - settata a: + impostata a: \begin{errlist} \item[\macro{EINVAL}] \param{template} non termina con \code{XXXXXX}. \end{errlist}} @@ -833,7 +833,7 @@ prototipo finali di \param{template}. \bodydesc{La funzione ritorna il file descriptor in caso successo e - -1 in caso di errore, nel qual caso \var{errno} viene settata a: + -1 in caso di errore, nel qual caso \var{errno} viene impostata a: \begin{errlist} \item[\macro{EINVAL}] \param{template} non termina con \code{XXXXXX}. \item[\macro{EEXIST}] non è riuscita a creare un file temporano, il @@ -844,7 +844,7 @@ prototipo essere una stringa costante. La funzione apre un file in lettura/scrittura con la funzione \func{open}, usando l'opzione \macro{O\_EXCL} (si veda \secref{sec:file_open}), in questo modo al ritorno della funzione si ha la -certezza di essere i soli utenti del file. I permessi sono settati al valore +certezza di essere i soli utenti del file. I permessi sono impostati al valore \code{0600}\footnote{questo è vero a partire dalle \acr{glibc} 2.0.7, le versioni precedenti delle \acr{glibc} e le vecchie \acr{libc5} e \acr{libc4} usavano il valore \code{0666} che permetteva a chiunque di leggere i @@ -859,7 +859,7 @@ In OpenBSD \bodydesc{La funzione ritorna il puntatore al nome della directory in caso successo e \macro{NULL} in caso di errore, nel qual caso \var{errno} viene - settata a: + impostata a: \begin{errlist} \item[\macro{EINVAL}] \param{template} non termina con \code{XXXXXX}. \end{errlist} @@ -1060,7 +1060,7 @@ poi si effettua il confronto con la combinazione di tipi scelta. \label{sec:file_file_size} Il membro \var{st\_size} contiene la dimensione del file in byte (se il file è -un file normale, nel caso di un link simbolico la dimensione è quella del +un file regolare, nel caso di un link simbolico la dimensione è quella del pathname che contiene). Il campo \var{st\_blocks} definisce la lunghezza del file in blocchi di 512 @@ -1101,9 +1101,9 @@ dimensione si possono usare le due funzioni \func{truncate} e eccetto che si usa con un file aperto, specificato tramite il suo file descriptor \var{fd}. - \bodydesc{Le funzioni restituiscono zero in caso di successo e -1 per - un errore, nel qual caso \var{errno} viene settato opportunamente; - per \func{ftruncate} si hanno i valori: + \bodydesc{Le funzioni restituiscono zero in caso di successo e -1 per un + errore, nel qual caso \var{errno} viene impostata opportunamente; per + \func{ftruncate} si hanno i valori: \begin{errlist} \item[\macro{EBADF}] \var{fd} non è un file descriptor. \item[\macro{EINVAL}] \var{fd} è un riferimento ad un socket, non a un file @@ -1286,7 +1286,7 @@ Cambia i tempi di ultimo accesso e modifica dell'inode specificato da \param{times}. Se questa è \macro{NULL} allora viene usato il tempo corrente. \bodydesc{La funzione restituisce zero in caso di successo e -1 in caso - di errore, nel qual caso \var{errno} è settata opportunamente. + di errore, nel qual caso \var{errno} è impostata opportunamente. \begin{errlist} \item[\macro{EACCESS}] non si ha il permesso di scrittura sul file. \item[\macro{ENOENT}] \param{filename} non esiste. @@ -1302,10 +1302,10 @@ struct utimbuf { \end{lstlisting} L'effetto della funzione e i privilegi necessari per eseguirla dipendono da -cosa è l'argomento \param{times}; se è \macro{NULL} la funzione setta il tempo -corrente ed è sufficiente avere accesso in scrittura al file; se invece si è -specificato un valore la funzione avrà successo solo se si è proprietari del -file (o si hanno i privilegi di amministratore). +cosa è l'argomento \param{times}; se è \macro{NULL} la funzione imposta il +tempo corrente ed è sufficiente avere accesso in scrittura al file; se invece +si è specificato un valore la funzione avrà successo solo se si è proprietari +del file (o si hanno i privilegi di amministratore). Si tenga presente che non è comunque possibile specificare il tempo di cambiamento di stato del file, che viene comunque cambiato dal kernel tutte le @@ -1461,7 +1461,7 @@ fa riferimento; per questo in genere il comando \cmd{ls} riporta per un link simbolico tutti i permessi come concessi; utente e gruppo a cui esso appartiene vengono pure ignorati quando il link viene risolto, vengono controllati solo quando viene richiesta la rimozione del link e quest'ultimo è -in una directory con lo \textsl{sticky bit} settato (si veda +in una directory con lo \textsl{sticky bit} impostato (si veda \secref{sec:file_sticky}). La procedura con cui il kernel stabilisce se un processo possiede un certo @@ -1496,18 +1496,18 @@ di accesso sono i seguenti: \item se il relativo\footnote{per relativo si intende il bit di user-read se il processo vuole accedere in scrittura, quello di user-write per l'accesso in scrittura, etc.} bit dei permessi d'accesso dell'utente è - settato, l'accesso è consentito + impostato, l'accesso è consentito \item altrimenti l'accesso è negato \end{itemize*} \item Se l'\textit{effective group id} del processo o uno dei \textit{supplementary group id} dei processi corrispondono al \acr{gid} del file allora: \begin{itemize*} - \item se il bit dei permessi d'accesso del gruppo è settato, l'accesso è + \item se il bit dei permessi d'accesso del gruppo è impostato, l'accesso è consentito, \item altrimenti l'accesso è negato \end{itemize*} -\item se il bit dei permessi d'accesso per tutti gli altri è settato, +\item se il bit dei permessi d'accesso per tutti gli altri è impostato, l'accesso è consentito, altrimenti l'accesso è negato. \end{enumerate} @@ -1531,17 +1531,17 @@ sono i bit detti \acr{suid} (da \textit{set-user-ID bit}) e \acr{sgid} (da \macro{S\_ISUID} e \macro{S\_ISGID}. Come spiegato in dettaglio in \secref{sec:proc_exec}, quando si lancia un -programma il comportamento normale del kernel è quello di settare +programma il comportamento normale del kernel è quello di impostare l'\textit{effective user id} e l'\textit{effective group id} del nuovo processo all'\acr{uid} e al \acr{gid} del processo corrente, che normalmente corrispondono dell'utente con cui si è entrati nel sistema. Se però il file del programma\footnote{per motivi di sicurezza il kernel ignora i bit \acr{suid} e \acr{sgid} per gli script eseguibili.} (che -ovviamente deve essere eseguibile) ha il bit \acr{suid} settato, il kernel +ovviamente deve essere eseguibile) ha il bit \acr{suid} impostato, il kernel assegnerà come \textit{effective user id} al nuovo processo l'\acr{uid} del proprietario del file al posto dell'\acr{uid} del processo originario. Avere -il bit \acr{sgid} settato ha lo stesso effetto sull'\textit{effective group +il bit \acr{sgid} impostato ha lo stesso effetto sull'\textit{effective group id} del processo. I bit \acr{suid} e \acr{sgid} vengono usati per permettere agli utenti normali @@ -1550,7 +1550,7 @@ il comando \cmd{passwd} che ha la necessit password, quest'ultimo ovviamente può essere scritto solo dall'amministratore, ma non è necessario chiamare l'amministratore per cambiare la propria password. Infatti il comando \cmd{passwd} appartiene a root ma ha il bit -\acr{suid} settato per cui quando viene lanciato da un utente normale parte +\acr{suid} impostato per cui quando viene lanciato da un utente normale parte con i privilegi di root. Chiaramente avere un processo che ha privilegi superiori a quelli che avrebbe @@ -1562,7 +1562,7 @@ dettaglio in \secref{sec:proc_perms}). La presenza dei bit \acr{suid} e \acr{sgid} su un file può essere rilevata con il comando \cmd{ls -l}, che visualizza una lettera \cmd{s} al posto della \cmd{x} in corrispondenza dei permessi di utente o gruppo. La stessa lettera -\cmd{s} può essere usata nel comando \cmd{chmod} per settare questi bit. +\cmd{s} può essere usata nel comando \cmd{chmod} per impostare questi bit. Infine questi bit possono essere controllati all'interno di \var{st\_mode} con l'uso delle due costanti \macro{S\_ISUID} e \macro{S\_IGID}, i cui valori sono riportati in \tabref{tab:file_mode_flags}. @@ -1574,7 +1574,7 @@ veda \secref{sec:file_ownership} per una spiegazione dettagliata al proposito). Infine Linux utilizza il bit \acr{sgid} per una ulteriore estensione mutuata -da SVr4. Il caso in cui un file ha il bit \acr{sgid} settato senza che lo sia +da SVr4. Il caso in cui un file ha il bit \acr{sgid} impostare senza che lo sia anche il corrispondente bit di esecuzione viene utilizzato per attivare per quel file il \textit{mandatory locking} (argomento che affronteremo in dettagliopiù avanti in \secref{sec:file_mand_locking}). @@ -1587,7 +1587,7 @@ L'ultimo dei bit rimanenti, identificato dalla costante \macro{S\_ISVTX}, parte un rimasuglio delle origini dei sistemi Unix. A quell'epoca infatti la memoria virtuale e l'accesso ai files erano molto meno sofisticati e per ottenere la massima velocità possibile per i programmi usati più comunemente -si poteva settare questo bit. +si poteva impostare questo bit. L'effetto di questo bit era che il segmento di testo del programma (si veda \secref{sec:proc_mem_layout} per i dettagli) veniva scritto nella swap la @@ -1599,16 +1599,16 @@ tempo di caricamento rispetto alla ricerca del file su disco. Lo \cmd{x} nei permessi per gli altri. Ovviamente per evitare che gli utenti potessero intasare la swap solo -l'amministratore era in grado di settare questo bit, che venne chiamato anche -con il nome di \textit{saved text bit}, da cui deriva quello della costante. -Le attuali implementazioni di memoria virtuale e filesystem rendono +l'amministratore era in grado di impostare questo bit, che venne chiamato +anche con il nome di \textit{saved text bit}, da cui deriva quello della +costante. Le attuali implementazioni di memoria virtuale e filesystem rendono sostanzialmente inutile questo procedimento. Benché ormai non venga più utilizzato per i file, lo \textsl{sticky bit} ha invece assunto un uso importante per le directory;\footnote{lo \textsl{sticky bit} per le directory è un'estensione non definita nello standard POSIX, Linux però la supporta, così come BSD e SVR4.} in questo caso se il bit è -settato un file potrà essere rimosso dalla directory soltanto se l'utente ha +impostato un file potrà essere rimosso dalla directory soltanto se l'utente ha il permesso di scrittura su di essa ed inoltre è vera una delle seguenti condizioni: \begin{itemize*} @@ -1616,8 +1616,8 @@ condizioni: \item l'utente è proprietario della directory \item l'utente è l'amministratore \end{itemize*} -un classico esempio di directory che ha questo bit settato è \file{/tmp}, i -permessi infatti di solito sono settati come: +un classico esempio di directory che ha questo bit impostato è \file{/tmp}, i +permessi infatti di solito sono impostati come: \begin{verbatim} $ ls -ld /tmp drwxrwxrwt 6 root root 1024 Aug 10 01:03 /tmp @@ -1652,14 +1652,14 @@ in genere BSD usa sempre la seconda possibilit semantica BSD. Linux invece segue quella che viene chiamata semantica SVr4; di norma cioè il nuovo file viene creato, seguendo la prima opzione, con il \acr{gid} del processo, se però la directory in cui viene creato il file ha il -bit \acr{sgid} settato allora viene usata la seconda opzione. +bit \acr{sgid} impostato allora viene usata la seconda opzione. Usare la semantica BSD ha il vantaggio che il \acr{gid} viene sempre automaticamente propagato, restando coerente a quello della directory di partenza, in tutte le sottodirectory. La semantica SVr4 offre la possibilità di scegliere, ma per ottenere lo stesso risultato di coerenza che si ha con BSD necessita che per le nuove directory venga anche propagato anche il bit -\acr{sgid}. Questo è il comportamento di default di \func{mkdir}, ed è in +\acr{sgid}. Questo è il comportamento predefinito di \func{mkdir}, ed è in questo modo ad esempio che Debian assicura che le sottodirectory create nelle home di un utente restino sempre con il \acr{gid} del gruppo primario dello stesso. @@ -1683,7 +1683,7 @@ Verifica i permessi di accesso, indicati da \var{mode}, per il file indicato da \var{pathname}. \bodydesc{La funzione ritorna 0 se l'accesso è consentito, -1 altrimenti; in - quest'ultimo caso la variabile \var{errno} viene settata secondo i codici di + quest'ultimo caso la variabile \var{errno} viene impostata secondo i codici di errore: \macro{EACCES}, \macro{EROFS}, \macro{EFAULT}, \macro{EINVAL}, \macro{ENAMETOOLONG}, \macro{ENOENT}, \macro{ENOTDIR}, \macro{ELOOP}, \macro{EIO}.} @@ -1802,7 +1802,7 @@ alcune limitazioni, provviste per motivi di sicurezza. Questo significa che anche se si è proprietari del file non tutte le operazioni sono permesse, in particolare: \begin{enumerate} -\item siccome solo l'amministratore può settare lo \textit{sticky bit}, se +\item siccome solo l'amministratore può impostare lo \textit{sticky bit}, se l'\textit{effective user id} del processo non è zero esso viene automaticamente cancellato (senza notifica di errore) qualora sia stato indicato in \var{mode}. @@ -1829,12 +1829,12 @@ privilegio. \label{sec:file_umask} Oltre che dai valori indicati in sede di creazione, i permessi assegnati ai -nuovi file sono controllati anche da una maschera di bit settata con la +nuovi file sono controllati anche da una maschera di bit impostata con la funzione \func{umask}, il cui prototipo è: \begin{prototype}{stat.h} {mode\_t umask(mode\_t mask)} - Setta la maschera dei permessi dei bit al valore specificato da \var{mask} + Imposta la maschera dei permessi dei bit al valore specificato da \var{mask} (di cui vengono presi solo i 9 bit meno significativi). \bodydesc{La funzione ritorna il precedente valore della maschera. È una @@ -1848,12 +1848,12 @@ permessi possano essere assegnati ai nuovi file in sede di creazione. I bit indicati nella maschera vengono infatti esclusi quando un nuovo file viene creato. -In genere questa maschera serve per impostare un default che escluda alcuni -permessi (usualmente quello di scrittura per il gruppo e gli altri, -corrispondente ad un valore di $022$). Essa è utile perché le routine -dell'interfaccia ANSI C degli stream non prevedono l'esistenza dei permessi, e -pertanto tutti i nuovi file vengono sempre creati con un default di $666$ -(cioè permessi di lettura e scrittura per tutti, si veda +In genere questa maschera serve per impostare un valore predefinito dei +permessi che ne escluda alcuni (usualmente quello di scrittura per il gruppo e +gli altri, corrispondente ad un valore di $022$). Essa è utile perché le +routine dell'interfaccia ANSI C degli stream non prevedono l'esistenza dei +permessi, e pertanto tutti i nuovi file vengono sempre creati con un valore di +$666$ (cioè permessi di lettura e scrittura per tutti, si veda \tabref{tab:file_permission_const} per un confronto); in questo modo è possibile cancellare automaticamente i permessi non voluti, senza doverlo fare esplicitamente. @@ -1882,7 +1882,7 @@ sono tre e i loro prototipi sono i seguenti: specificati dalle variabili \var{owner} e \var{group}. \bodydesc{Le funzioni restituiscono zero in caso di successo e -1 per - un errore, in caso di errore \var{errno} viene settato ai valori: + un errore, in caso di errore \var{errno} viene impostata ai valori: \begin{errlist} \item[\macro{EPERM}] L'\textit{effective user id} non corrisponde a quello del proprietario del file o non è zero, o utente e gruppo non sono validi @@ -1947,7 +1947,7 @@ radice con la funzione \func{chroot}, il cui prototipo \param{path}. \bodydesc{La funzione restituisce zero in caso di successo e -1 per - un errore, in caso di errore \var{errno} viene settato ai valori: + un errore, in caso di errore \var{errno} viene impostata ai valori: \begin{errlist} \item[\macro{EPERM}] L'\textit{effective user id} non è zero. \end{errlist}