From: Simone Piccardi Date: Sun, 5 May 2002 10:59:13 +0000 (+0000) Subject: Modifiche per le tabelle e un po' di cose sull'accounting X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=5a88be583402d6753af8e1542edd901595898988;ds=sidebyside Modifiche per le tabelle e un po' di cose sull'accounting --- diff --git a/gapil.tex b/gapil.tex index 2dd81de..d05eb76 100644 --- a/gapil.tex +++ b/gapil.tex @@ -9,7 +9,7 @@ \usepackage[latin1]{inputenc} \usepackage[bookmarks=true]{hyperref} \usepackage{makeidx} -\usepackage{booktabs} +%\usepackage{booktabs} \usepackage{pstcol} \usepackage{pst-node} \usepackage{graphicx} diff --git a/ipprot.tex b/ipprot.tex index 11954fa..a28e1d6 100644 --- a/ipprot.tex +++ b/ipprot.tex @@ -290,9 +290,11 @@ numero dei campi da 12 a 8. \begin{table}[htb] \begin{center} \footnotesize - \begin{tabular}{ l c p{8cm}} + \begin{tabular}{|l|c|p{8cm}|} + \hline \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\ - \toprule + \hline + \hline \textit{version} & 4 bit & \textsl{versione}, nel caso specifico vale sempre 6\\ \textit{priority} & 4 bit & @@ -311,7 +313,7 @@ numero dei campi da 12 a 8. pacchetto, se arriva a zero il pacchetto viene scartato \\ \textit{source IP} & 128 bit & \textsl{indirizzo di origine} \\ \textit{destination IP}& 128 bit & \textsl{indirizzo di destinazione}\\ - \bottomrule + \hline \end{tabular} \caption{Legenda per il significato dei campi dell'intestazione di IPv6} \label{tab:IP_ipv6field} @@ -397,9 +399,11 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze: \begin{table}[htb] \footnotesize \begin{center} - \begin{tabular}{l c p{9cm}} + \begin{tabular}{|l|c|p{9cm}|} + \hline \textbf{Nome} & \textbf{Lunghezza} & \textbf{Significato} \\ - \toprule + \hline + \hline \textit{version} & 4 bit & \textsl{versione}, nel caso specifico vale sempre 4\\ \textit{head lenght} & 4 bit & \textsl{lunghezza della testata}, @@ -430,7 +434,7 @@ di IPv4 (vedi \secref{tab:IP_ipv4head}) mostra le seguenti differenze: di controllo per la testata\\ \textit{source IP} & 32 bit & \textsl{indirizzo di origine}\\ \textit{destination IP} & 32 bit & \textsl{indirizzo di destinazione}\\ - \bottomrule + \hline \end{tabular} \caption{Legenda per il significato dei campi dell'intestazione di IPv4} \label{tab:IP_ipv4field} @@ -629,14 +633,16 @@ i seguenti possibili valori per il \textsl{Registry Id}; gli altri valori restano riservati per la IANA. \begin{table}[htb] \begin{center} - \begin{tabular}{l l l} + \begin{tabular}{|l|l|l|} + \hline \textbf{Regione} & \textbf{Registro} & \textbf{Id} \\ - \toprule + \hline + \hline Nord America &INTERNIC & \texttt{11000} \\ Europa & RIPE NCC & \texttt{01000} \\ Asia & APNIC & \texttt{00100} \\ Multi-regionale & IANA &\texttt{10000} \\ - \bottomrule + \hline \end{tabular} \caption{Valori dell'identificativo dei Regional Register allocati ad oggi.} @@ -910,9 +916,11 @@ transitorio, all'interno del raggio di validit \begin{table}[!htb] \centering \footnotesize - \begin{tabular}[c]{c l c l} - \multicolumn{4}{c}{\bf Gruppi di multicast} \\ - \toprule + \begin{tabular}[c]{|c|l|c|l|} + \hline + \multicolumn{4}{|c|}{\bf Gruppi di multicast} \\ + \hline + \hline 0 & riservato & 8 & organizzazione locale \\ 1 & nodo locale & 9 & non assegnato \\ 2 & collegamento locale & A & non assegnato \\ @@ -921,7 +929,7 @@ transitorio, all'interno del raggio di validit 5 & sito locale & D & non assegnato \\ 6 & non assegnato & E & globale \\ 7 & non assegnato & F & riservato \\ - \bottomrule + \hline \end{tabular} \caption{Possibili valori del campo \textsl{scop} di un indirizzo multicast.} \label{tab:IP_ipv6_multiscope} @@ -1020,7 +1028,8 @@ presente; i valori possibili sono riportati in \ntab. \begin{table}[htb] \begin{center} \footnotesize - \begin{tabular}{c l l} + \begin{tabular}{|c|l|l|} + \hline \textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\ \hline \hline @@ -1042,6 +1051,7 @@ presente; i valori possibili sono riportati in \ntab. 88 & IGRP & Internet Group Routing \\ 89 & OSPF & Open Short Path First \\ 255& & riservato \\ + \hline \end{tabular} \caption{Tipi di protocolli e testate di estensione} \label{tab:IP_ipv6_nexthead} @@ -1113,18 +1123,18 @@ valori di priorit \begin{table}[htb] \centering \footnotesize - \begin{tabular} {c l} - Valore & tipo di traffico \\ - \toprule + \begin{tabular}{|c|l|} + \hline + \textbf{Valore} & \textbf{Tipo di traffico} \\ + \hline + \hline 0 & traffico generico \\ 1 & traffico di riempimento (es. news) \\ 2 & trasferimento dati non interattivo (es. e-mail)\\ 3 & riservato \\ 4 & trasferimento dati interattivo (es. FTP, HTTP, NFS) \\ 5 & riservato \\ - 6 & traffico interattivo (telnet, X)\\ - 7 & traffico di controllo (routing, SNMP) \\ - \bottomrule + \hline \end{tabular} \caption{Formato di un indirizzo \textit{site-local}.} \label{tab:priority} diff --git a/system.tex b/system.tex index f4721d2..3671325 100644 --- a/system.tex +++ b/system.tex @@ -901,7 +901,7 @@ nome del filesystem stesso. Le \acr{glibc} provvedono infine una serie di funzioni per la gestione dei due -file standard \file{/etc/fstab} e \file{/etc/mtab}, che convenzionalmente sono +pfile standard \file{/etc/fstab} e \file{/etc/mtab}, che convenzionalmente sono usati in quasi tutti i sistemi unix per mantenere rispettivamente le informazioni riguardo ai filesystem da montare e a quelli correntemente montati. Le funzioni servono a leggere il contenuto di questi file in @@ -1069,15 +1069,6 @@ al database degli utenti, derivata da SVID, che per database che sia tenuto su un file che abbia il formato classico di \file{/etc/passwd}. -Dato che ormai la gran parte delle distribuzioni di Linux utilizzano PAM, che -come minimo usa almeno le \textit{shadow password}, quindi con delle modifiche -rispetto al formato classico di \file{/etc/passwd}, le funzioni che danno la -capacità scrivere delle voci nel database (\func{putpwent} e \func{putgrent}) -non permettono di specificarle in maniera completa. Per questo motivo l'uso di -queste funzioni è deprecato in favore dell'uso di PAM, per cui ci limitiamo a -elencarle in \tabref{tab:sys_passwd_func}, rimandando chi fosse interessato -alle man page e al manuale delle \acr{glibc} per i dettagli del funzionamento. - \begin{table}[htb] \footnotesize \centering @@ -1112,6 +1103,20 @@ alle man page e al manuale delle \acr{glibc} per i dettagli del funzionamento. \label{tab:sys_passwd_func} \end{table} +Dato che ormai la gran parte delle distribuzioni di Linux utilizzano PAM, che +come minimo usa almeno le \textit{shadow password}, quindi con delle modifiche +rispetto al formato classico di \file{/etc/passwd}, le funzioni che danno la +capacità scrivere delle voci nel database (\func{putpwent} e \func{putgrent}) +non permettono di specificarle in maniera completa. Per questo motivo l'uso di +queste funzioni è deprecato in favore dell'uso di PAM, per cui ci limitiamo a +elencarle in \tabref{tab:sys_passwd_func}, rimandando chi fosse interessato +alle man page e al manuale delle \acr{glibc} per i dettagli del funzionamento. + + + +\subsection{Il database di accounting} +\label{sec:sys_accounting} + Un altro insieme di funzioni utili è quello che permette di accedere ai dati del database di \textit{accounting} degli utenti, che mantiene la traccia di chi si è collegato al sistema e di che è correntemente collegato, insieme alle @@ -1119,13 +1124,22 @@ informazioni, per ciascun terminale, di chi ci dell'\acr{uid} della shell di login, ed una serie di altre informazioni relativa al sistema come il run-level, l'orario dell'ultimo riavvio, ed altre. -Le informazioni sono tenute nei due file \file{/var/run/utmp} (per chi sta -utilizzando il sistema al momento corrente) e \file{/var/log/wtmp} (per la -storia dei login precedenti). Questi file non devono mai essere letti -direttamente, ma le informazioni che contengono possono essere ricavate -attraverso le opportune funzioni di libreria. Queste sono analoghe alle -precedenti per il database delle password, solo che la struttura del database -è molto più complessa, dato che contiene vari tipi di informazione. +Le informazioni vengono mantenute 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}; la voce vi resta fino al logout, quando viene cancellata +e spostata in \file{/var/log/wtmp}. + +In questo modo il primo file viene utilizzato per registrare sta utilizzando +il sistema al momento corrente, mentre il secondo mantiene la storia delle +attività degli utenti. A quest'ultimo vengono anche aggiunte delle voci +speciali per tenere conto dei cambiamenti di runlevel, del riavvio della +macchina, e di altri eventi di sistema. + +Questi file non devono mai essere letti direttamente, ma le informazioni che +contengono possono essere ricavate attraverso le opportune funzioni di +libreria. Queste sono analoghe alle precedenti per il database delle password, +solo che la struttura del database è molto più complessa, dato che contiene +vari tipi di informazione. Le prime tre funzioni, \func{utmpname}, \func{setutent} e \func{endutent}, servono a aprire e chiudere il database, e a specificare il file su cui esso è @@ -1154,10 +1168,9 @@ una voce con le funzioni \func{getutent}, \func{getutid}, \func{getutline} e \funcdecl{struct utmp *getutent(void)} Legge una voce dal dalla posizione corrente nel database. - + \funcdecl{struct utmp *getutid(struct utmp *ut)} - Esegue una ricerca dalla posizione corrente sulla base del contenuto di - \param{ut}. + Ricerca una voce sul database in base al contenuto di \param{ut}. \funcdecl{struct utmp *getutline(struct utmp *ut)} Ricerca nel database la prima voce corrispondente ad un processo sulla linea @@ -1204,10 +1217,14 @@ struct utmp \label{fig:sys_utmp_struct} \end{figure} -Con \func{getutid} si può cercare la voce relativa ad uno specifico tipo di -login o di runlevel, a seconda del valore del campo \var{ut\_type} -dell'argomento \param{ut}; questo può assumere i valori riportati in - +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 \tabref{tab:sys_ut_type}, quando assume i valori +\macro{RUN\_LVL}, \macro{BOOT\_TIME}, \macro{OLD\_TIME}, \macro{NEW\_TIME}, +verrà restituito la prima voce che corrisponde al tipo determinato; quando +invece assume i valori \macro{INIT\_PROCESS}, \macro{LOGIN\_PROCESS}, +\macro{USER\_PROCESS} o \macro{DEAD\_PROCESS} verrà restiuita la prima voce +corripondente al valore del campo \var{ut\_id} specificato in \param{ut}. \begin{table}[htb] \footnotesize @@ -1217,18 +1234,18 @@ dell'argomento \param{ut}; questo pu \textbf{Funzione} & \textbf{Significato}\\ \hline \hline - \macro{EMPTY} & Non contiene informazioni valide. \\ + \macro{EMPTY} & Non contiene informazioni valide. \\ \macro{RUN\_LVL} & Identica il runlevel del sistema. \\ \macro{BOOT\_TIME} & Identifica il tempo di avvio del sistema \\ - \macro{OLD\_TIME} & Identifica quando è stato modificato l'orogio di - sistema. \\ - \macro{NEW\_TIME} & Identifica da qaunto è stato modificato il - sistema. \\ - \macro{INIT\_PROCESS} & Identifica un processo lanciato ad \cmd{init}. \\ + \macro{OLD\_TIME} & Identifica quando è stato modificato l'orologio di + sistema. \\ + \macro{NEW\_TIME} & Identifica da quanto è stato modificato il + sistema. \\ + \macro{INIT\_PROCESS} & Identifica un processo lanciato da \cmd{init}. \\ \macro{LOGIN\_PROCESS}& Identifica un processo di login. \\ \macro{USER\_PROCESS} & Identifica un processo utente. \\ \macro{DEAD\_PROCESS} & Identifica un processo terminato. \\ - \macro{ACCOUNTING} & ??? \\ + \macro{ACCOUNTING} & ??? \\ \hline \end{tabular} \caption{Classificazione delle voci del database di accounting a seconda dei @@ -1236,7 +1253,12 @@ dell'argomento \param{ut}; questo pu \label{tab:sys_ut_type} \end{table} - +Infine \func{getutline} esegue la ricerca sulle voci che hanno \var{ut\_type} +uguale a \macro{LOGIN\_PROCESS} o \macro{USER\_PROCESS}, restituendo la prima +che corrisponde al valore di \var{ut\_line}. Lo stesso criterio di ricerca è +usato da \func{pututline} per trovare uno spazio dove inserire la voce +specificata, qualora non sia trovata la voce viene aggiunta in coda al +database. \section{Limitazione ed uso delle risorse}