X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=4eb9f56af6d07b0a041e7b851bcfad04d76580b7;hp=7dcf3c3b809548b12b20affefc3d3fbdaa20f6f8;hb=9949b501aea36905b12f069e11743b70b3e2df57;hpb=0bf6d549ff4da48b7418d3e53856d82c5c262460 diff --git a/filedir.tex b/filedir.tex index 7dcf3c3..4eb9f56 100644 --- a/filedir.tex +++ b/filedir.tex @@ -1,6 +1,6 @@ %% filedir.tex %% -%% Copyright (C) 2000-2012 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2014 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", @@ -1623,26 +1623,22 @@ Un altro punto da tenere sempre presente è che, come abbiamo accennato, un collegamento simbolico può fare riferimento anche ad un file che non esiste; ad esempio possiamo usare il comando \cmd{ln} per creare un collegamento simbolico nella nostra directory con: -\begin{Command} -$ ln -s /tmp/tmp_file symlink -\end{Command} +\begin{Console} +piccardi@hain:~/gapil$ \textbf{ln -s /tmp/tmp_file symlink} +\end{Console} %$ e questo avrà successo anche se \file{/tmp/tmp\_file} non esiste: -\begin{Command} -$ ls symlink -\end{Command} -\begin{Terminal} +\begin{Console} +piccardi@hain:~/gapil$ \textbf{ls symlink} symlink -\end{Terminal} +\end{Console} %$ ma questo può generare confusione, perché accedendo in sola lettura a \file{symlink}, ad esempio con \cmd{cat}, otterremmo un errore: -\begin{Command} -$ cat symlink -\end{Command} -\begin{Terminal} +\begin{Console} +piccardi@hain:~/gapil$ \textbf{cat symlink} cat: symlink: No such file or directory -\end{Terminal} +\end{Console} %$ con un errore che può sembrare sbagliato, dato che \cmd{ls} ci ha mostrato l'esistenza di \file{symlink}, se invece scrivessimo su \file{symlink} @@ -4233,12 +4229,10 @@ condizioni: Un classico esempio di directory che ha questo bit impostato è \file{/tmp}, i cui permessi infatti di solito sono i seguenti: -\begin{Command} -$ ls -ld /tmp -\end{Command} -\begin{Terminal} +\begin{Console} +piccardi@hain:~/gapil$ \textbf{ls -ld /tmp} drwxrwxrwt 6 root root 1024 Aug 10 01:03 /tmp -\end{Terminal} +\end{Console} %$ quindi con lo \textit{sticky bit} bit impostato. In questo modo qualunque utente nel sistema può creare dei file in questa directory, che come @@ -6883,7 +6877,8 @@ opportuno dettagliare maggiormente. funzioni \func{mlock}, \func{mlockall}, \func{shmctl}, \func{mmap} (vedi sez.~\ref{sec:proc_mem_lock} e - sez.~\ref{sec:file_memory_map}). \\ + sez.~\ref{sec:file_memory_map}). \\ +% TODO verificare l'interazione con SHM_HUGETLB \const{CAP\_IPC\_OWNER} & Evitare il controllo dei permessi per le operazioni sugli oggetti di intercomunicazione fra processi (vedi @@ -7597,16 +7592,14 @@ allocare autonomamente e che al solito deve essere disallocato con \errval{ESRCH}. Gli stessi valori possono essere letti direttamente nel filesystem \textit{proc}, nei file \texttt{/proc//status}; ad esempio per \texttt{init} si otterrà qualcosa del tipo: -\begin{Command} -$ cat /proc/1/status -\end{Command} -\begin{Terminal} +\begin{Console} +piccardi@hain:~/gapil$ \textbf{cat /proc/1/status} ... CapInh: 0000000000000000 CapPrm: 00000000fffffeff CapEff: 00000000fffffeff ... -\end{Terminal} +\end{Console} %$ \itindend{capability~state} @@ -7699,7 +7692,8 @@ funzione. % cgroup o altro % TODO: trattare la funzione setns e i namespace file descriptors (vedi -% http://lwn.net/Articles/407495/) introdotti con il kernel 3.0 +% http://lwn.net/Articles/407495/) introdotti con il kernel 3.0, altre +% informazioni su setns qui: http://lwn.net/Articles/532748/ % http://lwn.net/Articles/531498/