X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=system.tex;h=5f0a6395c4f9affea161fe2b3606863e2920a3df;hb=dc6f430983f53479f813a2b7bc5ec6517e4b7e98;hp=f2569bf90a08beaedfe5654b421cbfe5fd784a78;hpb=ff76d56c6a2c280cbe4f153173488871d7b12336;p=gapil.git diff --git a/system.tex b/system.tex index f2569bf..5f0a639 100644 --- a/system.tex +++ b/system.tex @@ -1158,11 +1158,13 @@ della macchina. I dati vengono usualmente\footnote{questa è la locazione specificata dal \textit{Linux Filesystem Hierarchy Standard}, adottato dalla gran parte delle distribuzioni.} memorizzati nei due file \file{/var/run/utmp} e -\file{/var/log/wtmp}. Quando un utente si collega viene aggiunta una voce a -\file{/var/run/utmp} in cui viene memorizzato il nome di login, il terminale -da cui ci si collega, l'\acr{uid} della shell di login, l'orario della -connessione ed altre informazioni. La voce resta nel file fino al logout, -quando viene cancellata e spostata in \file{/var/log/wtmp}. +\file{/var/log/wtmp}.\footnote{non si confonda quest'ultimo con il simile + \file{/var/log/btmp} dove invece vengono memorizzati dal programma di login + tutti tentativi di accesso fallito.} Quando un utente si collega viene +aggiunta una voce a \file{/var/run/utmp} in cui viene memorizzato il nome di +login, il terminale da cui ci si collega, l'\acr{uid} della shell di login, +l'orario della connessione ed altre informazioni. La voce resta nel file fino +al logout, quando viene cancellata e spostata in \file{/var/log/wtmp}. In questo modo il primo file viene utilizzato per registrare chi sta utilizzando il sistema al momento corrente, mentre il secondo mantiene la @@ -1195,34 +1197,29 @@ sono: \bodydesc{Le funzioni non ritornano codici di errore.} \end{functions} - -In caso questo non venga specificato nessun file viene usato il valore -standard \const{\_PATH\_UTMP} (che è definito in \file{paths.h}); in genere -\func{utmpname} prevede due possibili valori: +e si tenga presente che le funzioni non restituiscono nessun valore, pertanto +non è possibile accorgersi di eventuali errori (ad esempio se si è impostato +un nome di file sbagliato con \func{utmpname}). + +Nel caso non si sia utilizzata \func{utmpname} per specificare un file di +registro alternativo, sia \func{setutent} che \func{endutent} operano usando +il default che è \file{/var/run/utmp}. Il nome di questo file, così come una +serie di altri valori di default per i \textit{pathname} di uso più comune, +viene mantenuto nei valori di una serie di costanti definite includendo +\file{paths.h}, in particolare quelle che ci interessano sono: \begin{basedescript}{\desclabelwidth{2.0cm}} -\item[\const{\_PATH\_UTMP}] Specifica il registro per gli utenti correntemente - collegati. -\item[\const{\_PATH\_WTMP}] Specifica il registro per l'archivio storico degli - utenti collegati. +\item[\const{\_PATH\_UTMP}] specifica il file che contiene il registro per gli + utenti correntemente collegati; questo è il valore che viene usato se non si + è utilizzato \func{utmpname} per modificarlo. +\item[\const{\_PATH\_WTMP}] specifica il file che contiene il registro per + l'archivio storico degli utenti collegati. \end{basedescript} -corrispondenti ai file \file{/var/run/utmp} e \file{/var/log/wtmp} visti in -precedenza. - -\begin{figure}[!htb] - \footnotesize - \centering - \begin{minipage}[c]{15cm} - \includestruct{listati/utmp.h} - \end{minipage} - \normalsize - \caption{La struttura \structd{utmp} contenente le informazioni di una voce - del registro di \textsl{contabilità}.} - \label{fig:sys_utmp_struct} -\end{figure} +che nel caso di Linux hanno un valore corrispondente ai file +\file{/var/run/utmp} e \file{/var/log/wtmp} citati in precedenza. -Una volta aperto il file si può eseguire una scansione leggendo o scrivendo -una voce con le funzioni \funcd{getutent}, \funcd{getutid}, \funcd{getutline} -e \funcd{pututline}, i cui prototipi sono: +Una volta aperto il file del registro degli utenti si può eseguire una +scansione leggendo o scrivendo una voce con le funzioni \funcd{getutent}, +\funcd{getutid}, \funcd{getutline} e \funcd{pututline}, i cui prototipi sono: \begin{functions} \headdecl{utmp.h} @@ -1249,6 +1246,19 @@ fig.~\ref{fig:sys_utmp_struct}. Le prime tre funzioni servono per leggere una voce dal registro; \func{getutent} legge semplicemente la prima voce disponibile; le altre due permettono di eseguire una ricerca. + +\begin{figure}[!htb] + \footnotesize + \centering + \begin{minipage}[c]{15cm} + \includestruct{listati/utmp.h} + \end{minipage} + \normalsize + \caption{La struttura \structd{utmp} contenente le informazioni di una voce + del registro di \textsl{contabilità}.} + \label{fig:sys_utmp_struct} +\end{figure} + Con \func{getutid} si può cercare una voce specifica, a seconda del valore del campo \var{ut\_type} dell'argomento \param{ut}. Questo può assumere i valori riportati in tab.~\ref{tab:sys_ut_type}, quando assume i valori