PostgreSQL è un DBMS, acronimo di DataBase Management System, ovvero un pacchetto software che consente la gestione e la manipolazione di database, quindi di dati strutturati.
Questo software viene rilasciato in modalità open source sul sito Postgresql.org.
Poichè in ambiente linux per un corretto funzionamento del DBMS bisogna avere dei piccoli accorgimenti, in questo tutrial spiegheremo come configurare alla perfezione postgresql.
Per prima cosa dobbiamo installare il software sul nostro computer; generalmente nei nostri repository è presente una versione di PostgreSQL, in caso contrario o se volete scaricare l'ultima versione a questo link.
Una volta installato, ci sono due file molto importanti da modificare:
Code:
pg_hba.conf
Questi due file si trovano in directory differenti in base alle distro, per esempio:
Code:
Fedora: $POSTGRES_HOME/data/
Il primo file contiene la vera e propria configurazione e dobbiamo modificare i seguenti paramentri:
Code:
listen_addresses = '*' se vogliamo che tutti possano usufruire del servizio
listen_addresses = '192.168.1.2,192.168.1.3' se vogliamo che solo determinati IP possano usufruire del servizio
Il file pg_hba.conf è un "firewall", ovvero un file che ci permette di dividere i vari tipi di connessioni e di gestire i metodi di autenticazione in base ad esse ed in base all'utente.
La parte importante del file è la seguente tabella:
Code:
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser
Nel campo TYPE è presente il tipo di connessione:
local è il tipo pipe quindi quando verrà utilizzato il client shell psql
host identifica una vera e propria connessione come quella che può avvenire tramite apache nel caso utilizzassimo postgres come database per un sito internet.
Nel campo DATABASE sono identificati i vari database presenti sul server a cui applicare la regola.
Nel campo USER sono identificati gli utenti del dbms a cui applicare la regola.
Nel campo CIDR-ADDRESS sono identificati gli indirizzi interessati alla regola.
Il campo METHOD è il campo che gestisce il tipo di autentificazione. Tra i principali abbiamo:
ident sameuser che ci permette di connetterci con lo stesso utente che ha lanciato il client senza la richiesta di password
md5 che genererà la richiesta della password da parte del DBMS
trust che garantisce fiducia a chi si connette quindi non chiederà alcuna password
reject che ignorerà tutte le connessioni
ATTENZIONE: questo file viene letto dall'alto verso il basso e la lettura viene interrota appena si trova una regola applicabile al nostro caso. Per esempio sarebbe inutile mettere sotto alla riga che dice "ident sameuser" la stessa riga con un metodo differente poichè alla lettura della prima riga il firewall si ferma e applica il metodo.
Una volta sistemati i file secondo le nostre esigenze non ci resta che riavviare il servizio
Code:
e creare un nuovo utente. Per garantire una certa sicurezza, generalmente, si crea un utente con dei permessi limitati, che possa svolgere quindi solo le operazioni veramente necessarie.
Creiamo quindi un utente con la possibilità di creare database, ma che non avrà la possibilità di creare altri utenti.
Per farlo dobbiamo autenticarci nel database con un utente che sia superuser. Quindi da root digitiamo il comando
Code:
e una volta diventati l'utente postgres, proprietario del processo DBMS, digitiamo:
Code:
Con questo comando verremo connessi al database template1, un database che viene generato di default.
Ora per creare il nuovo utente digitiamo:
Code:
Ora il nostro utente avrà la possibilità di collegarsi al dbms e creare i database dei quali ha bisogno.
Per averne conferma digitiamo il comando
Code:
sulla shell di psql in modo da vedere un elenco degli user esistenti per il DBMS con relativi permessi.
ATTENZIONE: se creiamo un utente che non ha lo stesso nome del nostro utente di sistema, quando cercheremo di connetterci tramite il comando psql da shell sarà necessario specificare il nome utente.
Ora il nostro DBMS è pronto al suo utilizzo.
Per ulteriori informazioni a riguardo dei comandi di gestione e amministrazione del DBMS vi rimando ai comandi
Code:
e
Code:
nella shell di psql.
Tags
Apache Bash Elastix Firewall Firma digitale Geolocazione Grafica Informatica Internet Java Linux OpenMoko PHP Programmazione Python Reti Ricetta SEO Sicurezza Sistemi Operativi Varie Virtualizzazione VoIPLink ad altri blog:



Fondiamo il PSQL User Group?!?!?! :D