Matteo Ianeselli ha scritto:
Il mar, 2003-12-16 alle 03:07, airwood65@xxxxxxxxxxx ha scritto:
Naturalmente poi, chi come me, ha capito circa la meta' della meta' di cosa ci sta scritto
In breve: tutto ciò che è vietato (hosts.deny) è vietato, a meno che non sia permesso (hosts.allow).
Detto in altre parole: se è permesso esplicitamente (hosts.allow) allora
è permesso. Se invece non è permesso esplicitamente, ed è vietato
esplicitamente, allora è vietato. E se non è esplicitamente né permesso
né vietato, allora è permesso.
Notare che questo significa che se la stessa cosa viene permessa in hosts.allow e viene vietata in hosts.deny, vince hosts.allow (e viene permessa), e per questo di solito si vieta tutto (con "ALL:ALL" in hosts.deny) e poi si lavora solo su hosts.allow.
Quello che è permesso e quello che è vietato si specifica con delle regolette (una per riga) fatte da due o tre colonne separate da ':'
nella prima colonna ci va l'elenco dei servizi, mentre nella seconda colonna ci va chi non può accedervi (hosts.deny) o chi invece può (hosts.allow).
ALL è una parolina magica che se sta nella colonna dei servizi (la prima) indica tutti i servizi, mentre se sta nella seconda colonna indica tutti quelli che li potrebbero usare.
EXCEPT si usa per fare eccezioni sia per i servizi (ALL EXCEPT in.telnetd) che per chi ci si può connettere (esempio: ALL EXCEPT .linuxtrent.it)
Infine, tradizionalmente (ma vedi sotto), ci può essere una terza colonna (sempre separata da ':') che indica un comando di shell da eseguire al volo se quella regola soddisfa i requisiti. Prima di eseguire il comando, eventuali sequenze %<carattere> vengono sostituite con altre informazioni.
E fin qui la cosa dovrebbe essere uguale per tutti gli UNIX tradizionali.
Dopodiché in Linux (e Solaris recenti, e MacOSX) viene invece usata una forma estesa (che è quella riportata nell'esempio in fondo alla pagina di cui sopra) che prevede regole con N colonne (sempre separate da '.'), dove le prime due hanno la stessa sintassi descritta sopra (rispettivamente: "cosa" e "chi"), mentre tutte le colonne successive contengono delle direttive del tipo "spawn" (per avviare un comando a fianco di quello che offre il servizio) o "twist" (per avviare un comando AL POSTO di quello che offre il servizio).
Maggiori info su questa sintassi estesa la si trova con
man hosts_options
(non credo esista una traduzione di questa manpage).
Come al solito ti confermi una "fonte". Grazie Janez.
-- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx