X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=9717529258164076059db6ad2e9fc6accc8140a7;hp=a6b8484628ed44335402b1bd7d0ce95b56dd9508;hb=e7010c3fbd41a2de44c7b513c5de6e2c6d7ab4b4;hpb=60e20d29c0515f95b8a171fb33c7214c9bf92021 diff --git a/prochand.tex b/prochand.tex index a6b8484..9717529 100644 --- a/prochand.tex +++ b/prochand.tex @@ -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 @@ -2330,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