[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume]
nanoLinux è organizzato per la gestione di alcuni DBMS: PostgreSQL, MySQL ed eventualmente SQLite. Dipende dal livello di nanoLinux la disponibilità di questo o di quel DBMS; ciò che conta è che nanorc sia in grado di fare la cosa giusta quando serve.
PostgreSQL è installato normalmente, secondo le convenzioni della distribuzione GNU/Linux Debian. È previsto inizialmente l'amministratore del DBMS, postgres, che deve poter accedere localmente senza parola d'ordine, sulla base del riconoscimento del sistema operativo, per consentire a nanorc di poter intervenire nel DBMS (quando è avviato con i privilegi dell'utente root).
Oltre all'amministratore del DBMS, è previsto inizialmente l'utente pgnanouser, associato alla base di dati nanodb, che può accedere senza la richiesta di alcuna forma di riconoscimento. Per questa ragione, allo scopo di facilitare l'utilizzo «casuale» di tale base di dati, durante il funzionamento da CD o da DVD, nel file /etc/profile
vengono definite le variabili di ambiente PGUSER e PGDATABASE, rispettivamente con i valori pgnanouser e nanodb.
Il file /etc/postgresql/*/main/pg_hba.conf
(ovvero ~postgres/*/main/pg_hba.conf
) è configurato nel modo seguente:
|
In pratica, l'utente postgres (ovvero l'amministratore), può accedere dall'elaboratore locale, identificato in base alla stessa utenza del sistema operativo. Poi, dal momento che non possiede una parola d'ordine, non ci sono altre possibilità per il suo accesso al DBMS.
La base di dati nanodb, può essere raggiunta da chiunque, da qualunque elaboratore, purché si trovi almeno ad avere un indirizzo IPv4 privato. Per questi accessi non viene richiesta alcuna forma di identificazione.
Per ogni altra situazione, purché si tratti di accessi locali o remoti, ma nell'ambito di una rete locale (in base al tipo di indirizzo), è concesso l'accesso a condizione di fornire una parola d'ordine per l'identificazione dell'utenza; infine i tentativi di accesso da altre posizioni vengono respinti.
nanoLinux IV include anche MySQL, che inizialmente dispone: dell'utente amministratore standard (root), che può accedere solo localmente, dell'utente debian-sys-maint (conformemente all'organizzazione della distribuzione GNU/Linux Debian) e dell'utente mynanouser, associato alla base di dati nanodb (che comunque è diversa da quella di PostgreSQL) senza limiti di accesso e senza parola d'ordine.
Lo script nanorc dipende dalla presenza dell'utente speciale (con gli stessi poteri dell'amministratore standard) denominato debian-sys-maint, per poter compiere le sue funzioni nei confronti del DBMS.
L'utente root (del DBMS) ha inizialmente una parola d'ordine casuale, pertanto, con l'aiuto di nanorc, è possibile poi attribuirgliene una diversa. Tuttavia, se si rimane nell'ambito della gestione prevista con nanorc, non è necessario utilizzare tale utenza direttamente.
È possibile integrare le utenze del sistema operativo (utenze Unix) con quelle di PostgreSQL e MySQL, facendo una piccola semplificazione: quando viene creato un utente con il comando nanorc user add, si crea anche un utente per PostgreSQL e MySQL con lo stesso nome e la stessa parola d'ordine, associando questo utente a una base di dati, sempre con lo stesso nome dell'utente. Così, i comandi nanorc user del e nanorc user passwd, intervengono anche nell'ambito di PostgreSQL e di MySQL. Ciò consente a ogni utente reale di gestire una propria base di dati, senza troppe complicazioni, sia con un DBMS, sia con l'altro.
Il meccanismo di integrazione dei vari tipi di utenza, non può essere sempre perfetto; per esempio, se si installa uno dei due DBMS dopo che sono stati aggiunti degli utenti per il sistema operativo, questi non sono presenti nel DBMS. Pertanto, si aggiungono dei comandi ulteriori per intervenire solo nell'ambito di PostgreSQL o di MySQL, pur mantenendo la semplificazione che comporta la gestione di basi di dati con lo stesso nome degli utenti rispettivi.
Come si può intuire dalla tabella, se nella riga di comando vengono aggiunte anche le informazioni opzionali, si evita che nanorc le chieda in modo interattivo.
Per facilitare l'archiviazione e il recupero dei dati contenuti nelle basi di dati, nanorc include delle funzioni appropriate. Ciò che si ottiene dall'operazione di archiviazione è un file di testo, contenente codice SQL, che può essere usato per il ripristino.
|
Lo script nanorc include una funzione per ripristinare la struttura di dati iniziali, senza alcuna base di dati (tranne quelle amministrative necessarie):
nanorc postgresql init |
nanorc mysql init |
È importante rendersi conto che l'utilizzo di questi comandi elimina completamente i dati contenuti eventualmente nelle base di dati preesistenti, così come elimina tutti gli utenti dei DBMS, lasciando soltanto gli amministratori.
Quando nanoLinux è avviato da CD, DVD o da altro disco in sola lettura, i servizi DBMS non vengono avviati e i dati iniziali non sono presenti. Per poter utilizzare PostgreSQL o MySQL, anche se solo per fare delle prove, dato che le basi di dati verrebbero perdute allo spegnimento dell'elaboratore, occorre usare un comando apposito di nanorc, che in pratica inizializza la struttura che deve ospitare le basi di dati:
nanorc postgresql start |
nanorc mysql start |
Eventualmente, se prima dello spegnimento dell'elaboratore i dati non servono più e si vuole recuperare un po' di memoria, si possono usare altri comandi che terminano il funzionamento del servizio e ne eliminano i dati:
nanorc postgresql stop |
nanorc mysql stop |
nanoLinux prevede anche la presenza di SQLite, che in pratica è una libreria che permette ai programmi che la utilizzano di gestire dei file singoli come delle basi di dati, fornendo loro un accesso conforme allo standard SQL.
Oltre alla libreria è disponibile il programma sqlite3, che permette di operare, attraverso un terminale a caratteri, con questo tipo di basi di dati:
sqlite3 file_db |
Dal momento che SQLite non ha una gestione delle utenze, in quanto gli accessi si confrontano soltanto con i privilegi assegnati dal sistema operativo; dato inoltre il fatto che le basi di dati vengono create al volo, se non esistono già, nanorc non include funzioni particolari per SQLite.
Eventualmente, nel menù di Fvwm, appaiono degli esempi per l'archiviazione e il recupero dei dati.
nanoLinux IV dispone anche di unixODBC, che consente ai programmi di comunicare con i DBMS attraverso lo standard di ODBC. La configurazione iniziale prevede due DSN (Data source name), che fanno riferimento alle basi di dati di prova di PostgreSQL e di MySQL: si tratta rispettivamente di pg-nanodb e my-nanodb.
Alla creazione di un utente, viene aggiunto un file ~/.odbc.ini
personalizzato, nel quale vengono dichiarati altri DSN, per accedere alle proprie basi di dati. Si tratta dei nomi seguenti:
local-pg-utente |
local-my-utente |
remote-pg-utente |
remote-my-utente |
Si intuisce che si tratti di DSN riferiti alle proprie basi di dati, generate automaticamente da nanoLinux, distinguendo tra quelle locali e quelle che potrebbero essere collocate presso un elaboratore che centralizza la gestione delle utenze. All'atto della creazione degli utenti, se esiste l'informazione sul router interno alla rete locale, il suo indirizzo viene usato per l'accesso alle basi di dati remote.
Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome nanolinux_dbms_e_problemi_collegati.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]