X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=84e702263b54b3da646cf8b8c8d8a69886f443e4;hp=9a9ed69a747ce1039ea27972d0c31aeff7b121af;hb=71bd769469078fc921d9646d62b0f9293b6ae47c;hpb=83b2cb23f7f2026b0d487f9d9461c25d39d7031c diff --git a/filedir.tex b/filedir.tex index 9a9ed69..84e7022 100644 --- a/filedir.tex +++ b/filedir.tex @@ -1,6 +1,6 @@ %% filedir.tex %% -%% Copyright (C) 2000-2005 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2006 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -615,11 +615,11 @@ permessi sono comunque modificati nella maniera usuale dal valore di \var{umask} (si veda sez.~\ref{sec:file_umask}). Per il tipo di file può essere specificato solo uno fra: \const{S\_IFREG} per -un file regolare (che sarà creato vuoto), \const{S\_IFBLK} per un device a -blocchi, \const{S\_IFCHR} per un device a caratteri e \const{S\_IFIFO} per una -fifo. Un valore diverso comporterà l'errore \errcode{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. +un file regolare (che sarà creato vuoto), \const{S\_IFBLK} per un dispositivo +a blocchi, \const{S\_IFCHR} per un dispositivo a caratteri e \const{S\_IFIFO} +per una fifo. Un valore diverso comporterà l'errore \errcode{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. 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 @@ -920,10 +920,10 @@ ritorna un valore diverso da zero la voce viene inserita in un vettore che viene allocato dinamicamente con \func{malloc}. Qualora si specifichi un valore \val{NULL} per \func{select} vengono selezionate tutte le voci. -Le voci selezionate possono essere riodinate tramite \func{qsort}, le modalità +Le voci selezionate possono essere riordinate tramite \func{qsort}, le modalità del riordinamento possono essere personalizzate usando la funzione \param{compar} come criterio di ordinamento di\func{qsort}, la funzione prende -come argomenti le duestrutture \struct{dirent} da confrontare restituendo un +come argomenti le due strutture \struct{dirent} da confrontare restituendo un valore positivo, nullo o negativo per indicarne l'ordinamento; alla fine l'indirizzo della lista delle strutture \struct{dirent} così ordinate viene restituito nell'argomento \param{namelist}. @@ -1322,7 +1322,7 @@ della directory condition}\itindex{race~condition} non si pongono. -\section{La manipolazione delle caratteristiche dei files} +\section{La manipolazione delle caratteristiche dei file} \label{sec:file_infos} Come spiegato in sez.~\ref{sec:file_filesystem} tutte le informazioni generali @@ -1343,7 +1343,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 dei files. I prototipi di queste funzioni sono i +e mostrare tutti i dati dei file. I prototipi di queste funzioni sono i seguenti: \begin{functions} \headdecl{sys/types.h} @@ -1356,7 +1356,7 @@ seguenti: \funcdecl{int lstat(const char *file\_name, struct stat *buf)} Identica a \func{stat} eccetto che se il \param{file\_name} è un link simbolico vengono - lette le informazioni relativae ad esso e non al file a cui fa riferimento. + lette le informazioni relative ad esso e non al file a cui fa riferimento. \funcdecl{int fstat(int filedes, struct stat *buf)} Identica a \func{stat} eccetto che si usa con un file aperto, specificato tramite il suo file @@ -2039,8 +2039,9 @@ 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} impostato senza che lo sia anche il corrispondente bit di esecuzione viene utilizzato per attivare -per quel file il \textit{mandatory locking} (affronteremo questo argomento in -dettaglio più avanti, in sez.~\ref{sec:file_mand_locking}). +per quel file il \itindex{mandatory~locking} \textit{mandatory locking} +(affronteremo questo argomento in dettaglio più avanti, in +sez.~\ref{sec:file_mand_locking}). \itindend{suid~bit} \itindend{sgid~bit} @@ -2052,7 +2053,7 @@ dettaglio pi L'ultimo dei bit rimanenti, identificato dalla costante \const{S\_ISVTX}, è in 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 +memoria virtuale e l'accesso ai file erano molto meno sofisticati e per ottenere la massima velocità possibile per i programmi usati più comunemente si poteva impostare questo bit. @@ -2421,7 +2422,7 @@ privilegi di root entrambi i bit \itindex{suid~bit} \acr{suid} e \itindex{sgid~bit} \acr{sgid} vengono cancellati. Questo non avviene per il bit \acr{sgid} nel caso in cui esso sia usato (in assenza del corrispondente permesso di esecuzione) per indicare che per il file è attivo il -\textit{mandatory locking}. +\itindex{mandatory~locking} \textit{mandatory locking}. \subsection{Un quadro d'insieme sui permessi} @@ -2454,7 +2455,8 @@ ha alcun effetto qualora il processo possieda i privilegi di amministratore. \hline 1&-&-&-&-&-&-&-&-&-&-&-&Se eseguito ha i permessi del proprietario\\ -&1&-&-&-&1&-&-&-&-&-&-&Se eseguito ha i permessi del gruppo proprietario\\ - -&1&-&-&-&0&-&-&-&-&-&-&Il \textit{mandatory locking} è abilitato\\ + -&1&-&-&-&0&-&-&-&-&-&-&Il \itindex{mandatory~locking} + \textit{mandatory locking} è abilitato\\ -&-&1&-&-&-&-&-&-&-&-&-&Non utilizzato\\ -&-&-&1&-&-&-&-&-&-&-&-&Permesso di lettura per il proprietario\\ -&-&-&-&1&-&-&-&-&-&-&-&Permesso di scrittura per il proprietario\\ @@ -2610,3 +2612,34 @@ programmi e librerie) di cui il server potrebbe avere bisogno. %%% mode: latex %%% TeX-master: "gapil" %%% End: + +% LocalWords: sez like filesystem unlink MacOS Windows VMS inode kernel unistd +% LocalWords: un'etichetta int const char oldpath newpath errno EXDEV EPERM st +% LocalWords: EEXIST EMLINK EACCES ENAMETOOLONG ENOTDIR EFAULT ENOMEM EROFS ls +% LocalWords: ELOOP ENOSPC EIO pathname nlink stat vfat fsck EISDIR ENOENT cap +% LocalWords: POSIX socket fifo sticky root nell'inode system call count crash +% LocalWords: all'inode descriptor remove rename rmdir stdio glibc libc NFS DT +% LocalWords: ENOTEMPTY EBUSY mount point EINVAL soft symbolic tab symlink fig +% LocalWords: dangling access chdir chmod chown creat exec lchown lstat mkdir +% LocalWords: mkfifo mknod opendir pathconf readlink truncate path buff size +% LocalWords: grub bootloader grep linux MAXSYMLINKS cat VFS sys dirname fcntl +% LocalWords: dev l'inode umask IFREG IFBLK IFCHR IFIFO SVr sgid BSD SVID NULL +% LocalWords: stream dirent EMFILE ENFILE dirfd SOURCE fchdir readdir struct +% LocalWords: EBADF namlen HAVE thread entry result value argument fileno ino +% LocalWords: name TYPE OFF RECLEN UNKNOWN REG SOCK CHR BLK type IFTODT DTTOIF +% LocalWords: DTYPE off reclen seekdir telldir void rewinddir closedir select +% LocalWords: namelist compar malloc qsort alphasort versionsort strcoll myls +% LocalWords: strcmp DirScan direntry while current working home shell pwd get +% LocalWords: dell'inode getcwd ERANGE getwd change fd race condition tmpnam +% LocalWords: string tmpdir TMP tempnam pfx TMPNAME suid tmp EXCL tmpfile pid +% LocalWords: EINTR mktemp mkstemp stlib template filename XXXXXX OpenBSD buf +% LocalWords: mkdtemp fstat filedes nell'header padding ISREG ISDIR ISCHR IFMT +% LocalWords: ISBLK ISFIFO ISLNK ISSOCK IFSOCK IFLNK IFDIR ISUID UID ISGID GID +% LocalWords: ISVTX IRUSR IWUSR IXUSR IRGRP IWGRP IXGRP IROTH IWOTH IXOTH du +% LocalWords: blocks blksize holes lseek TRUNC ftruncate length lenght ETXTBSY +% LocalWords: hole atime read utime mtime write ctime modification leafnode cp +% LocalWords: make fchmod fchown utimbuf times actime modtime Mac owner uid fs +% LocalWords: gid Control List patch mandatory control execute group other all +% LocalWords: dell' effective passwd IGID locking swap saved text IRWXU IRWXG +% LocalWords: IRWXO ext reiser capability FSETID mask capabilities chroot jail +% LocalWords: FTP