X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=9717529258164076059db6ad2e9fc6accc8140a7;hp=63b4ef5e65d98c34a67d2eceff006c013ad0240f;hb=e7010c3fbd41a2de44c7b513c5de6e2c6d7ab4b4;hpb=08dda6d422df113ce687fa8a4305feb55bbf98d0 diff --git a/prochand.tex b/prochand.tex index 63b4ef5..9717529 100644 --- a/prochand.tex +++ b/prochand.tex @@ -914,18 +914,18 @@ sono riportate anche le costanti definite per indicare alcuni di essi. \textbf{Valore} & \textbf{Costante} &\textbf{Significato}\\ \hline \hline - $<-1$& -- & attende per un figlio il cui + $<-1$& -- & Attende per un figlio il cui \itindex{process~group} \textit{process group} (vedi sez.~\ref{sec:sess_proc_group}) è uguale al valore assoluto di \param{pid}. \\ - $-1$&\const{WAIT\_ANY} & attende per un figlio qualsiasi, usata in + $-1$&\const{WAIT\_ANY} & Attende per un figlio qualsiasi, usata in questa maniera senza specificare nessuna opzione è equivalente a \func{wait}.\\ - $ 0$&\const{WAIT\_MYPGRP}&attende per un figlio il cui + $ 0$&\const{WAIT\_MYPGRP}&Attende per un figlio il cui \itindex{process~group} \textit{process group} (vedi sez.~\ref{sec:sess_proc_group}) è uguale a quello del processo chiamante. \\ - $>0$& -- & attende per un figlio il cui \acr{pid} è uguale + $>0$& -- & Attende per un figlio il cui \acr{pid} è uguale al valore di \param{pid}.\\ \hline \end{tabular} @@ -957,10 +957,10 @@ valore nullo anzich \textbf{Macro} & \textbf{Descrizione}\\ \hline \hline - \const{WNOHANG} & la funzione ritorna immediatamente anche se non è + \const{WNOHANG} & La funzione ritorna immediatamente anche se non è terminato nessun processo figlio. \\ - \const{WUNTRACED} & ritorna anche se un processo figlio è stato fermato. \\ - \const{WCONTINUED}& ritorna anche quando un processo figlio che era stato + \const{WUNTRACED} & Ritorna anche se un processo figlio è stato fermato. \\ + \const{WCONTINUED}& Ritorna anche quando un processo figlio che era stato fermato ha ripreso l'esecuzione.\footnotemark \\ \hline \end{tabular} @@ -1055,36 +1055,36 @@ presente che queste macro prendono come parametro la variabile di tipo \textbf{Macro} & \textbf{Descrizione}\\ \hline \hline - \macro{WIFEXITED(s)} & condizione vera (valore non nullo) per un processo + \macro{WIFEXITED(s)} & Condizione vera (valore non nullo) per un processo figlio che sia terminato normalmente. \\ - \macro{WEXITSTATUS(s)} & restituisce gli otto bit meno significativi dello + \macro{WEXITSTATUS(s)} & Restituisce gli otto bit meno significativi dello stato di uscita del processo (passato attraverso \func{\_exit}, \func{exit} o come valore di ritorno di \func{main}); può essere valutata solo se \val{WIFEXITED} ha restituito un valore non nullo.\\ - \macro{WIFSIGNALED(s)} & condizione vera se il processo figlio è terminato + \macro{WIFSIGNALED(s)} & Condizione vera se il processo figlio è terminato in maniera anomala a causa di un segnale che non è stato catturato (vedi sez.~\ref{sec:sig_notification}).\\ - \macro{WTERMSIG(s)} & restituisce il numero del segnale che ha causato + \macro{WTERMSIG(s)} & Restituisce il numero del segnale che ha causato la terminazione anomala del processo; può essere valutata solo se \val{WIFSIGNALED} ha restituito un valore non nullo.\\ - \macro{WCOREDUMP(s)} & vera se il processo terminato ha generato un + \macro{WCOREDUMP(s)} & Vera se il processo terminato ha generato un file di \itindex{core~dump} \textit{core dump}; può essere valutata solo se \val{WIFSIGNALED} ha restituito un valore non nullo.\footnotemark \\ - \macro{WIFSTOPPED(s)} & vera se il processo che ha causato il ritorno di + \macro{WIFSTOPPED(s)} & Vera se il processo che ha causato il ritorno di \func{waitpid} è bloccato; l'uso è possibile solo con \func{waitpid} avendo specificato l'opzione \const{WUNTRACED}.\\ - \macro{WSTOPSIG(s)} & restituisce il numero del segnale che ha bloccato + \macro{WSTOPSIG(s)} & Restituisce il numero del segnale che ha bloccato il processo; può essere valutata solo se \val{WIFSTOPPED} ha restituito un valore non nullo. \\ - \macro{WIFCONTINUED(s)}& vera se il processo che ha causato il ritorno è + \macro{WIFCONTINUED(s)}& Vera se il processo che ha causato il ritorno è stato riavviato da un \const{SIGCONT}.\footnotemark \\ \hline @@ -1149,14 +1149,14 @@ primo, quale processo o quale gruppo di processi selezionare. \textbf{Macro} & \textbf{Descrizione}\\ \hline \hline - \const{P\_PID} & indica la richiesta di attendere per un processo figlio + \const{P\_PID} & Indica la richiesta di attendere per un processo figlio il cui \acr{pid} corrisponda al valore dell'argomento \param{id}.\\ - \const{P\_PGID}& indica la richiesta di attendere per un processo figlio + \const{P\_PGID}& Indica la richiesta di attendere per un processo figlio appartenente al \textit{process group} (vedi sez.~\ref{sec:sess_proc_group}) il cui \acr{pgid} corrisponda al valore dell'argomento \param{id}.\\ - \const{P\_ALL} & indica la richiesta di attendere per un processo figlio + \const{P\_ALL} & Indica la richiesta di attendere per un processo figlio generico, il valore dell'argomento \param{id} viene ignorato.\\ \hline @@ -1186,13 +1186,13 @@ nuovo riceverne lo stato. \textbf{Macro} & \textbf{Descrizione}\\ \hline \hline - \const{WEXITED} & ritorna quando un processo figlio è terminato. \\ - \const{WNOHANG} & ritorna immediatamente anche se non c'è niente da + \const{WEXITED} & Ritorna quando un processo figlio è terminato. \\ + \const{WNOHANG} & Ritorna immediatamente anche se non c'è niente da notificare. \\ - \const{WSTOPPED} & ritorna quando un processo figlio è stato fermato. \\ + \const{WSTOPPED} & Ritorna quando un processo figlio è stato fermato. \\ \const{WCONTINUED}& ritorna quando un processo figlio che era stato fermato ha ripreso l'esecuzione. \\ - \const{WNOWAIT} & lascia il processo ancora in attesa di ricezione, così + \const{WNOWAIT} & Lascia il processo ancora in attesa di ricezione, così che una successiva chiamata possa di nuovo riceverne lo stato. \\ \hline @@ -1471,8 +1471,8 @@ condivise, viene lanciato il \textit{linker} dinamico \cmd{/lib/ld.so} prima del programma per caricare le librerie necessarie ed effettuare il link dell'eseguibile. Se il programma è in formato ELF per caricare le librerie dinamiche viene usato l'interprete indicato nel segmento \const{PT\_INTERP}, -in genere questo è \file{/lib/ld-linux.so.1} per programmi collegati con le -\acr{libc5}, e \file{/lib/ld-linux.so.2} per programmi collegati con le +in genere questo è \sysfile{/lib/ld-linux.so.1} per programmi collegati con le +\acr{libc5}, e \sysfile{/lib/ld-linux.so.2} per programmi collegati con le \acr{glibc}. Infine nel caso il file sia uno script esso deve iniziare con una linea nella @@ -1721,12 +1721,12 @@ il programma, effettuare il lavoro che non necessita di privilegi aggiuntivi, ed eventualmente tornare indietro. Come esempio per chiarire l'uso di queste funzioni prendiamo quello con cui -viene gestito l'accesso al file \file{/var/log/utmp}. In questo file viene +viene gestito l'accesso al file \sysfile{/var/log/utmp}. In questo file viene registrato chi sta usando il sistema al momento corrente; chiaramente non può essere lasciato aperto in scrittura a qualunque utente, che potrebbe falsificare la registrazione. Per questo motivo questo file (e l'analogo -\file{/var/log/wtmp} su cui vengono registrati login e logout) appartengono ad -un gruppo dedicato (\acr{utmp}) ed i programmi che devono accedervi (ad +\sysfile{/var/log/wtmp} su cui vengono registrati login e logout) appartengono +ad un gruppo dedicato (\acr{utmp}) ed i programmi che devono accedervi (ad esempio tutti i programmi di terminale in X, o il programma \cmd{screen} che crea terminali multipli su una console) appartengono a questo gruppo ed hanno il bit \acr{sgid} impostato. @@ -1740,8 +1740,8 @@ situazione degli identificatori \textsl{group-ID salvato} &=& \textrm{\acr{utmp}} \end{eqnarray*} in questo modo, dato che il \textsl{group-ID effettivo} è quello giusto, il -programma può accedere a \file{/var/log/utmp} in scrittura ed aggiornarlo. A -questo punto il programma può eseguire una \code{setgid(getgid())} per +programma può accedere a \sysfile{/var/log/utmp} in scrittura ed aggiornarlo. +A questo punto il programma può eseguire una \code{setgid(getgid())} per impostare il \textsl{group-ID effettivo} a quello dell'utente (e dato che il \textsl{group-ID reale} corrisponde la funzione avrà successo), in questo modo non sarà possibile lanciare dal terminale programmi che modificano detto file, @@ -1754,7 +1754,7 @@ in tal caso infatti la situazione degli identificatori sarebbe: \end{eqnarray*} e ogni processo lanciato dal terminale avrebbe comunque \acr{gid} come \textsl{group-ID effettivo}. All'uscita dal terminale, per poter di nuovo -aggiornare lo stato di \file{/var/log/utmp} il programma eseguirà una +aggiornare lo stato di \sysfile{/var/log/utmp} il programma eseguirà una \code{setgid(utmp)} (dove \var{utmp} è il valore numerico associato al gruppo \acr{utmp}, ottenuto ad esempio con una precedente \func{getegid}), dato che in questo caso il valore richiesto corrisponde al \textsl{group-ID salvato} la @@ -1765,7 +1765,7 @@ funzione avr \textsl{group-ID effettivo} &=& \textrm{\acr{utmp}} \\ \textsl{group-ID salvato} &=& \textrm{\acr{utmp} (invariato)} \end{eqnarray*} -consentendo l'accesso a \file{/var/log/utmp}. +consentendo l'accesso a \sysfile{/var/log/utmp}. Occorre però tenere conto che tutto questo non è possibile con un processo con i privilegi di amministratore, in tal caso infatti l'esecuzione di una @@ -2055,7 +2055,7 @@ un utente specifico, si pu \end{functions} La funzione esegue la scansione del database dei gruppi (usualmente -\file{/etc/groups}) cercando i gruppi di cui è membro l'utente \param{user} +\conffile{/etc/group}) cercando i gruppi di cui è membro l'utente \param{user} con cui costruisce una lista di gruppi supplementari, a cui aggiunge anche \param{group}, infine imposta questa lista per il processo corrente usando \func{setgroups}. Si tenga presente che sia \func{setgroups} che @@ -2128,10 +2128,10 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e % % POSIX-draft defined capabilities. % - \const{CAP\_CHOWN} & la capacità di cambiare proprietario e gruppo + \const{CAP\_CHOWN} & La capacità di cambiare proprietario e gruppo proprietario di un file (vedi sez.~\ref{sec:file_ownership_management}).\\ - \const{CAP\_DAC\_OVERRIDE}& la capacità di evitare il controllo dei + \const{CAP\_DAC\_OVERRIDE}& La capacità di evitare il controllo dei permessi di lettura, scrittura ed esecuzione dei file, (vedi sez.~\ref{sec:file_access_control}) caratteristici del modello classico del @@ -2139,11 +2139,11 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e \itindex{Discrectionary~Access~Control~(DAC)} \textit{Discrectionary Access Control} (da cui il nome DAC).\\ - \const{CAP\_DAC\_READ\_SEARCH}& la capacità di evitare il controllo dei + \const{CAP\_DAC\_READ\_SEARCH}& La capacità di evitare il controllo dei permessi di lettura, scrittura ed esecuzione per le directory (vedi sez.~\ref{sec:file_access_control}).\\ - \const{CAP\_FOWNER} & la capacità di evitare il controllo che + \const{CAP\_FOWNER} & La capacità di evitare il controllo che l'user-ID effettivo del processo (o meglio il \textit{filesystem user-ID}, vedi sez.~\ref{sec:proc_setuid}) coincida con @@ -2164,7 +2164,7 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e \func{open} e \func{fcntl} (vedi sez.~\ref{sec:file_open} e sez.~\ref{sec:file_fcntl}).\\ - \const{CAP\_FSETID} & la capacità di evitare la cancellazione + \const{CAP\_FSETID} & La capacità di evitare la cancellazione automatica dei bit \itindex{suid~bit} \acr{suid} e \itindex{sgid~bit} \acr{sgid} quando un file per i quali sono impostati viene modificato da @@ -2173,14 +2173,14 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e quando questo è relativo ad un gruppo cui non si appartiene (vedi sez.~\ref{sec:file_perm_management}).\\ - \const{CAP\_KILL} & la capacità di mandare segnali a qualunque + \const{CAP\_KILL} & La capacità di mandare segnali a qualunque processo (vedi sez.~\ref{sec:sig_kill_raise}).\\ - \const{CAP\_SETGID} & la capacità di manipolare i group ID dei + \const{CAP\_SETGID} & La capacità di manipolare i group ID dei processi, sia il principale che i supplementari, (vedi sez.~\ref{sec:proc_setgroups} che quelli trasmessi tramite i socket \textit{unix domain} (vedi sez.~\ref{sec:unix_socket}).\\ - \const{CAP\_SETUID} & la capacità di manipolare gli user ID del + \const{CAP\_SETUID} & La capacità di manipolare gli user ID del processo (con \func{setuid}, \func{setreuid}, \func{setresuid}, \func{setfsuid}) e di trasmettere un valore arbitrario @@ -2191,7 +2191,7 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e % Linux specific capabilities % \hline - \const{CAP\_SETPCAP} & la capacità di impostare o rimuovere una capacità + \const{CAP\_SETPCAP} & La capacità di impostare o rimuovere una capacità (limitatamente a quelle che il processo chiamante ha nel suo insieme di capacità permesse) da qualunque processo.\\ @@ -2200,10 +2200,10 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e \textit{append only} per i file su un filesystem che supporta questi attributi estesi.\\ - \const{CAP\_NET\_BIND\_SERVICE}& la capacità di porre in ascolto server + \const{CAP\_NET\_BIND\_SERVICE}& La capacità di porre in ascolto server su porte riservate (vedi sez.~\ref{sec:TCP_func_bind}).\\ - \const{CAP\_NET\_BROADCAST}& la capacità di consentire l'uso di socket in + \const{CAP\_NET\_BROADCAST}& La capacità di consentire l'uso di socket in \itindex{broadcast} \textit{broadcast} e \itindex{multicast} \textit{multicast}.\\ \const{CAP\_NET\_ADMIN} & la capacità di eseguire alcune operazioni @@ -2212,59 +2212,58 @@ implementata.\footnote{per attualmente si intende fino al kernel 2.6.13, e \itindex{multicast} \textit{multicasting}, impostare interfacce di rete e tabella di instradamento).\\ - \const{CAP\_NET\_RAW} & la capacità di usare socket \texttt{RAW} e + \const{CAP\_NET\_RAW} & La capacità di usare socket \texttt{RAW} e \texttt{PACKET} (quelli che permettono di creare pacchetti nei protocolli di basso livello).\\ - \const{CAP\_IPC\_LOCK} & la capacità di effettuare il \textit{memory + \const{CAP\_IPC\_LOCK} & La capacità di effettuare il \textit{memory locking} \itindex{memory~locking} con le funzioni \func{mlock}, \func{mlockall}, \func{shmctl}, \func{mmap} (vedi sez.~\ref{sec:proc_mem_lock} e sez.~\ref{sec:file_memory_map}). \\ - \const{CAP\_IPC\_OWNER} & la capacità di evitare il controllo dei permessi + \const{CAP\_IPC\_OWNER} & La capacità di evitare il controllo dei permessi per le operazioni sugli oggetti di intercomunicazione fra processi (vedi sez.~\ref{sec:ipc_sysv}).\\ - \const{CAP\_SYS\_MODULE}& la capacità di caricare e rimuovere moduli del + \const{CAP\_SYS\_MODULE}& La capacità di caricare e rimuovere moduli del kernel. \\ - \const{CAP\_SYS\_RAWIO} & la capacità di eseguire operazioni sulle porte + \const{CAP\_SYS\_RAWIO} & La capacità di eseguire operazioni sulle porte di I/O con \func{ioperm} e \func{iopl} (vedi sez.~\ref{sec:file_io_port}).\\ - \const{CAP\_SYS\_CHROOT}& la capacità di eseguire la funzione + \const{CAP\_SYS\_CHROOT}& La capacità di eseguire la funzione \func{chroot} (vedi sez.~\ref{sec:file_chroot}).\\ - \const{CAP\_SYS\_PTRACE}& consente di tracciare qualunque processo con + \const{CAP\_SYS\_PTRACE}& Consente di tracciare qualunque processo con \func{ptrace} (vedi sez.~\ref{sec:xxx_ptrace}).\\ -% TODO documentatare ptrace - \const{CAP\_SYS\_PACCT} & la capacità di usare le funzioni di + \const{CAP\_SYS\_PACCT} & La capacità di usare le funzioni di \textit{accounting} dei processi (vedi sez.~\ref{sec:sys_bsd_accounting}).\\ - \const{CAP\_SYS\_ADMIN} & la capacità di eseguire una serie di compiti + \const{CAP\_SYS\_ADMIN} & La capacità di eseguire una serie di compiti amministrativi (come impostare le quote, attivare e disattivare la swap, montare, rimontare e smontare filesystem, ecc.). \\ - \const{CAP\_SYS\_BOOT} & la capacità di fare eseguire un riavvio del + \const{CAP\_SYS\_BOOT} & La capacità di fare eseguire un riavvio del sistema.\\ - \const{CAP\_SYS\_NICE} & la capacità di modificare le priorità dei + \const{CAP\_SYS\_NICE} & La capacità di modificare le priorità dei processi (vedi sez.~\ref{sec:proc_priority}). \\ \const{CAP\_SYS\_RESOURCE}& la capacità di superare le limitazioni sulle risorse, aumentare le quote disco, usare lo spazio disco riservato all'amministratore.\\ - \const{CAP\_SYS\_TIME} & la capacità di modificare il tempo di sistema + \const{CAP\_SYS\_TIME} & La capacità di modificare il tempo di sistema (vedi sez.~\ref{sec:sys_time}).\\ \const{CAP\_SYS\_TTY\_CONFIG}& la capacità di simulare un \textit{hangup} della console, con la funzione \func{vhangup}.\\ - \const{CAP\_MKNOD} & la capacità di creare file di dispositivo con la + \const{CAP\_MKNOD} & La capacità di creare file di dispositivo con la funzione \func{mknod} (vedi sez.~\ref{sec:file_mknod}).\footnotemark\\ - \const{CAP\_LEASE} & la capacità di creare dei \textit{file lease} + \const{CAP\_LEASE} & La capacità di creare dei \textit{file lease} \index{file!lease} su di un file (vedi sez.~\ref{sec:file_asyncronous_lease}) indipendentemente dalla proprietà dello stesso.\footnotemark\\ - \const{CAP\_SETFCAP} & la capacità di impostare le + \const{CAP\_SETFCAP} & La capacità di impostare le \textit{capabilities} di un file (non supportata).\\ \hline @@ -2331,7 +2330,7 @@ un \textsl{AND} binario del contenuto corrente del \textit{capabilities capacità in esso elencate. Il \textit{capabilities bounding set} è un parametro di sistema, accessibile -attraverso il contenuto del file \file{/proc/sys/kernel/cap-bound}, che per +attraverso il contenuto del file \procfile{/proc/sys/kernel/cap-bound}, che per questa sua caratteristica consente di impostare un limite generale alle capacità che possono essere accordate ai vari processi. Questo valore può essere impostato ad un valore arbitrario esclusivamente dal primo processo @@ -3146,10 +3145,10 @@ assolute diverse da zero o politiche \const{SCHED\_FIFO} e \const{SCHED\_RR}. \textbf{Policy} & \textbf{Significato} \\ \hline \hline - \const{SCHED\_FIFO} & Scheduling real-time con politica \textit{FIFO} \\ + \const{SCHED\_FIFO} & Scheduling real-time con politica \textit{FIFO}. \\ \const{SCHED\_RR} & Scheduling real-time con politica \textit{Round - Robin} \\ - \const{SCHED\_OTHER}& Scheduling ordinario\\ + Robin}. \\ + \const{SCHED\_OTHER}& Scheduling ordinario.\\ \hline \end{tabular} \caption{Valori dell'argomento \param{policy} per la funzione @@ -3696,11 +3695,11 @@ varie funzioni di libreria, che sono identificate aggiungendo il suffisso % LocalWords: get ncap caps CapInh CapPrm fffffeff CapEff getcap STAT dall'I % LocalWords: inc PRIO SUSv PRGR prio SysV SunOS Ultrix sched timespec len sig % LocalWords: cpusetsize cpuset atomic tickless redirezione WCONTINUED stopped +% LocalWords: waitid NOCLDSTOP ENOCHLD WIFCONTINUED ifdef endif idtype siginfo +% LocalWords: infop ALL WEXITED WSTOPPED WNOWAIT signo CLD EXITED KILLED page +% LocalWords: CONTINUED %%% Local Variables: %%% mode: latex %%% TeX-master: "gapil" %%% End: -% LocalWords: waitid NOCLDSTOP ENOCHLD WIFCONTINUED ifdef endif idtype siginfo -% LocalWords: infop ALL WEXITED WSTOPPED WNOWAIT signo CLD EXITED KILLED page -% LocalWords: CONTINUED