Qualora si sia specificato in \param{mode} un file di dispositivo (vale a dire
o \const{S\_IFBLK} o \const{S\_IFCHR}), il valore di \param{dev} dovrà essere
-usato per indicare a quale dispositivo si fa riferimento altrimenti il suo
+usato per indicare a quale dispositivo si fa riferimento, altrimenti il suo
valore verrà ignorato. Solo l'amministratore può creare un file di
dispositivo usando questa funzione (il processo deve avere la
\textit{capability} \const{CAP\_MKNOD}), ma in Linux\footnote{questo è un
Il \itindex{major~number} \textit{major number} identifica una classe di
dispositivi (ad esempio la seriale, o i dischi IDE) e serve in sostanza per
indicare al kernel quale è il modulo che gestisce quella classe di
-dispositivi, per identificare uno specifico dispositivo di quella classe (ad
-esempio una singola porta seriali, o una partizione di un disco) si usa invece
+dispositivi; per identificare uno specifico dispositivo di quella classe (ad
+esempio una singola porta seriale, o una partizione di un disco) si usa invece
il \itindex{minor~number} \textit{minor number}. L'elenco aggiornato di questi
numeri con le relative corrispondenze ai vari dispositivi può essere trovato
nel file \texttt{Documentation/devices.txt} allegato alla documentazione dei
Restituisce il \itindex{minor~number} \textit{minor number} del dispositivo
\param{dev}.
\end{functions}
-mentre una volta che siano noti \itindex{major~number} \textit{major number} e
-\itindex{minor~number} \textit{minor number} si potrà costruire il relativo
-identificativo con la macro \macro{makedev}:
+\noindent mentre una volta che siano noti \itindex{major~number} \textit{major
+ number} e \itindex{minor~number} \textit{minor number} si potrà costruire il
+relativo identificativo con la macro \macro{makedev}:
\begin{functions}
\headdecl{sys/types.h}
\funcdecl{dev\_t \macro{minor}(int major, int minor)}
\itindsub{pathname}{assoluto} \textit{pathname} assoluti a partire sempre
dalla stessa directory, che corrisponde alla radice del sistema.
-In certe situazioni però, per motivi di sicurezza, è utile poter impedire che
-un processo possa accedere a tutto il filesystem; per far questo si può
-cambiare la sua directory radice con la funzione \funcd{chroot}, il cui
-prototipo è:
+In certe situazioni però è utile poter impedire che un processo possa accedere
+a tutto il filesystem; per far questo si può cambiare la sua directory radice
+con la funzione \funcd{chroot}, il cui prototipo è:
\begin{prototype}{unistd.h}{int chroot(const char *path)}
Cambia la directory radice del processo a quella specificata da
\param{path}.
comunque accedere a tutto il resto del filesystem usando
\itindsub{pathname}{relativo}\textit{pathname} relativi, i quali, partendo
dalla directory di lavoro che è fuori della \textit{chroot jail}, potranno
-(con l'uso di \texttt{..}) risalire fino alla radice effettiva del filesystem.
+(con l'uso di ``\texttt{..}'') risalire fino alla radice effettiva del
+filesystem.
Ma se ad un processo restano i privilegi di amministratore esso potrà comunque
portare la sua directory di lavoro fuori dalla \textit{chroot jail} in cui si
-
% 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: fsetxattr flags XATTR REPLACE listxattr llistxattr flistxattr by
% LocalWords: removexattr lremovexattr fremovexattr attributename lacl acl
% LocalWords: OBJ setfacl len any prefix separator options NUMERIC IDS SMART
+% LocalWords: INDENT major number IDE Documentation makedev fopendir proc
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "gapil"
%%% End:
-% LocalWords: INDENT major number IDE Documentation makedev fopendir proc
\param{pathname} (che vengono ottenuti attraverso \func{stat}, da cui derivano
i possibili errori), e gli 8 bit meno significativi del numero del dispositivo
su cui è il file. Diventa perciò relativamente facile ottenere delle
-collisioni, specie se i file sono su dispositivi con lo stesso \textit{minor
- number}, come \file{/dev/hda1} e \file{/dev/sda1}.
+collisioni, specie se i file sono su dispositivi con lo stesso
+\itindex{minor~number} \textit{minor number}, come \file{/dev/hda1} e
+\file{/dev/sda1}.
In genere quello che si fa è utilizzare un file comune usato dai programmi che
devono comunicare (ad esempio un header comune, o uno dei programmi che devono