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
.
|
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.
|
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.
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