11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

300 CAPITOLO 8. LA GESTIONE DEI SERVIZI DI BASE# ##:INTERNAL: Internal services#echo stream tcp nowait root internal#echo dgram udp wait root internal#chargen stream tcp nowait root internal#chargen dgram udp wait root internal#discard stream tcp nowait root internal#discard dgram udp wait root internal#daytime stream tcp nowait root internal#daytime dgram udp wait root internal#time stream tcp nowait root internal#time dgram udp wait root internal#:MAIL: Mail, news and uucp services.nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode#:INFO: Info servicesident stream tcp wait identd /usr/sbin/identd identdcome si vede il formato è relativamente semplice, una tabella in cui ogni riga è relativa ad unservizio da lanciare, ed i campi sono separati da spazi o tabulatori; al solito righe vuote e iniziateda # sono ignorate.Il servizio da lanciare è identificato dal primo campo, tramite il suo valore simbolico così comeviene indicato in /etc/services. Il successivo campo indica il tipo di socket: i due tipi piùcomuni sono stream o dgram, ma si possono indicare tutti i tipi di socket supportati con <strong>Linux</strong>,(come raw, rdm, or seqpacket). Il terzo campo indica il protocollo usato: di norma si tratta ditcp o udp, (ma si può specificare un qualunque nome valido riportato in /etc/protocols) chein pratica corrispondono rispettivamente ai tipi stream e dgram.Il quarto campo è applicabile solo quando si è usato un socket dgram, e indica se il server è ingrado di trattare altri pacchetti mentre sta rispondendo (nel qual caso si imposta nowait) o meno,nel qual caso si deve aspettare la fine del processo corrente prima di rilanciare il programma;per gli altri socket deve essere nowait. Il quinto campo indica l’utente per conto del quale vieneeseguito il programma; se si vuole specificare anche un gruppo diverso da quello di default, lo sipuò fare scrivendo il campo nella forma user.group.Il quinto campo deve indicare il pathname completo del comando che verrà eseguito in casodi connessione, o la parola chiave internal se quel servizio è fornito direttamente da inetd.Eventuali argomenti dovranno essere specificati di seguito; dato però che inetd usa direttamenteil resto della linea per invocare la funzione exec, questi non potranno essere specificati normalmenteriprendendo quanto si scriverebbe su una riga di comando, ma dovranno essere precedutidall’argomento iniziale (che la riga di comando costruisce automaticamente, per cui non vienemai specificato), che indica il nome del programma lanciato.Come si può notare nell’esempio sono abilitati solo due servizi, il primo è un server newsgestito tramite il programma leafnode, il secondo è il servizio ident, definito dall’RFC 1413,che permette di identificare l’utente proprietario del processo che ha una certa connessione. Sinoti anche come nel caso di leafnode questo non sia stato lanciato direttamente ma invocatoattraverso tcpd, un utile programma di sicurezza che permette di controllare gli accessi ai servizidi rete, come vedremo in sez. 8.1.3.Se vogliamo provare ad abilitare un nuovo servizio netstat possiamo aggiungere al file unariga del tipo:netstat stream tcp nowait nobody /bin/netstat netstat -ante si noti come si sia specificato, prima dei parametri -ant, il nome del programma netstat;senza questo il risultato sarebbe stato che all’esecuzione di /bin/netstat nome del processo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!