public_html/ u0.1
NLNX offre un servente HTTP, costituito precisamente da Mathopd che si configura con il solo file /etc/mathopd.conf. In base alla configurazione predefinita di NLNX, il servente HTTP consente la pubblicazione di documenti a partire dalla directory /var/www/, dove il file index.html va sostituito o semplicemente eliminato, e dalla directory ~/public_html/ di ogni utente.
La configurazione può essere modificata, ma per questo occorre intervenire manualmente nel file /etc/mathopd.conf.
|
Tabella u44.10. Script nlnxrc: funzionalità relative a servizi offerti tramite il servente HTTP.
|
NLNX è organizzato per poter soddisfare le esigenze dell'attività didattica in una scuola media superiore. A tale proposito, il fatto che gli utenti possano pubblicare dei file utilizzando la directory ~/public_html/ può essere un problema, in quanto gli studenti potrebbero così passarsi facilmente dei dati.
La configurazione predefinita di NLNX è tale per cui le directory personali degli utenti hanno i permessi 17718, pari a rwxrwx--t, appartenendo all'utente root e al gruppo privato dell'utente rispettivo. In tal modo, gli utenti non hanno la facoltà di modificare i permessi della propria directory personale e non possono cancellare file o directory che non appartengono a loro stessi. Così facendo, per impedire che gli utenti possano pubblicare qualcosa attraverso il protocollo HTTP, è sufficiente che l'amministratore crei le directory ~/public_html/, appartenenti a se stesso, ma senza alcun permesso di accesso, lettura o modifica. Gli utenti, non potendo cancellare queste directory, non possono nemmeno collocarci dei file per la mancanza dei permessi necessari.
In base alla configurazione predefinita del servente HTTP, i file che hanno estensione .cgi, .pl e .sh, vengono eseguiti in qualità di programmi CGI (Common gateway interface). A titolo di esempio, nella directory /var/www/cgi/ sono disponibili alcuni file di questo tipo; per visualizzarli occorre accedere all'indirizzo http://nodo/cgi/.
NLNX dispone normalmente dell'interprete PHP. Perché intervenga l'elaborazione di tale interprete è sufficiente che i file abbiano l'estensione .php, oppure .phtml o .pht. Eventualmente, nella directory /var/www/php/ (ovvero http://nodo/php/) si trova il file test.php con il quale è possibile verificarne il funzionamento e conoscere le estensioni disponibili.
Attraverso lo script /etc/cron.daily/nlnx-webalizer si ottiene l'aggiornamento quotidiano delle statistiche di accesso al servente HTTP. Se Mathopd è rimasto alla sua configurazione standard di NLNX, sono accessibili all'indirizzo http://nodo/access/. Inoltre, all'indirizzo http://nodo/filter/ sono accessibili le statistiche degli accessi all'esterno, come contabilizzato da OOPS.
Per eseguire manualmente l'aggiornamento di queste statistiche si può usare il comando seguente:
# nlnxrc webalizer update[Invio]
NLNX dispone di un servizio SNMP preconfigurato per l'accesso in sola lettura, in modo da consentire di ottenere le informazioni sul traffico che attraversa le interfacce di rete locali. Inoltre è disponibile MRTG, con il quale è possibile elaborare le statistiche di tale traffico all'indirizzo http://nodo/mrtg/. Tuttavia, MRTG va configurato in modo da fare riferimento alle interfacce di rete esistenti effettivamente. Va usato il comando seguente per fissare tale configurazione:
# nlnxrc mrgt config[Invio]
.------------------SNMP agent---------------------. | Please insert a router SNMP agent address with | | community, like this: "COMMUNITY@ROUTER" | | When you have finished, select the "cancel" | | button. | | .---------------------------------------------. | | |public@localhost | | | `---------------------------------------------' | |-------------------------------------------------| | < OK > <Cancel> | `-------------------------------------------------' |
<OK>
Dopo l'indicazione dell'elaboratore locale, si possono aggiungere altri router, come nell'esempio successivo. Al termine si deve annullare per concludere la configurazione.
.------------------SNMP agent---------------------. | Please insert a router SNMP agent address with | | community, like this: "COMMUNITY@ROUTER" | | When you have finished, select the "cancel" | | button. | | .---------------------------------------------. | | |public@192.168.1.254 | | | `---------------------------------------------' | |-------------------------------------------------| | < OK > <Cancel> | `-------------------------------------------------' |
<OK>
...
<Cancel>
.Clean MRTG from previous data--. | Should I remove previous data | | inside "/var/www/mrtg/"? | | | |-------------------------------| | < Yes > < No > | `-------------------------------' |
<Yes>
L'aggiornamento delle statistiche, in base alla configurazione prodotta, avviene attraverso uno script avviato da Cron.
In condizioni normali, principalmente per motivi didattici, i file del registro di sistema (log) e altri file analoghi contenuti a partire dalla directory /var/log/, sono accessibili a tutti gli utenti. In tal caso (se ci sono effettivamente i permessi di accesso in lettura per tutti), è possibile leggere il contenuto di questi registri anche attraverso un programma CGI, che consente l'accesso da parte di utenti di reti private (127.0.0.1, 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16): http://nodo/cgi-bin/var_log.
Se si accede all'indirizzo http://nodo/cgi-bin/var_log si ottiene la lista del contenuto della directory /var/log/ dell'elaboratore corrispondente al nome o all'indirizzo indicato (il «nodo»); se si aggiunge la stringa ?percorso, si intende visualizzare il contenuto del percorso /var/log/percorso. Per esempio, per visualizzare il contenuto del file /var/log/syslog, si deve usare l'indirizzo http://nodo/cgi-bin/var_log?syslog, mentre per leggere il contenuto del file /var/log/oops/access.log, si deve usare l'indirizzo http://nodo/cgi-bin/var_log?oops/access.log.
L'accessibilità a questi file dipende dai loro permessi, tenendo conto che il programma CGI funziona con gli stessi privilegi del servente HTTP.
Oltre ai servizi menzionati nel capitolo, attraverso il servente HTTP è disponibile della documentazione interna: le pagine di manuale, la documentazione Info (se installata) e a2. Nella tabella successiva sono riepilogati questi e gli altri indirizzi corrispondenti alla configurazione predefinita del servizio HTTP.
|
Tabella u57.4. Indirizzi URI della configurazione predefinita del servente HTTP.
|
Per potersi esercitare nella realizzazione di file HTML aderenti allo standard è possibile utilizzare nsgmls, ma il menù grafico di NLNX viene in aiuto per una gestione ordinata del lavoro. Per questa funzionalità si parte da {home page}, come si vede nella figura successiva.
|
Figura u57.5. Funzioni del menù grafico di NLNX dedicate alla realizzazione e verifica di pagine HTML. In questo caso si viene guidati alla selezione di un file, per il suo controllo sintattico. |
In questo caso, il menù grafico è sensibile ai file .html e .htm, contenuti nella directory personale dell'utente e la directory ~/public_html/, ammesso che sia presente.
«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net