Postgresql recupero password di accesso

Mi è capitato ieri di dover accedere ad un database Postgresql su una macchina dismessa (linux debian) con Postgresql 8.1. Avevo a disposizione solo gli accessi Linux (root) ma non quelli del db.

Ecco come fare per accedere ai dati db, sostanzialmente si edita il file di configurazione permettendo l’accesso al db a utenti generici, una volta dentro si resetta la password o si rimette tutto come prima :

  • Accedere alla macchina come root (o come Administrator)
  • salvare il file di configurazione accessi del db /etc/postgresql/pg_hba.conf
  • editare il file  /etc/postgresql/pg_hba.conf
  • Io ho impostato le credenziali per accedere a tutti i db da tutti (la macchina era in rete locale ed il db era da buttare ma se il db è in produzione consiglio di leggere sotto alcune restrizioni
  • impostare:
    • local all all trust
    • host all all trust
  • Estrarre i dati che servono
  • reimpostare il file  /etc/postgresql/pg_hba.conf salvato in precedenza

Ecco un estratto delle varie opzioni di configurazione:

# Permette a tutti gli utenti locali di connettersi a tutti i database

# tramite Unix-domain sockets
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust

# La stessa cosa usando una connessione TCP/IP locale (loopback) #
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 trust

# OPPURE con ip e netmask
host all all 127.0.0.1 255.255.255.255 trust

#Permette a tutti gli utenti di connettersi da un indirizzo IP 192.168.93.x
#al database “postgres” come utente con lo stesso username che ident riporta per
#la connessione (tipicamente lo Unix user name)
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host postgres all 192.168.93.0/24 ident sameuser

# Permette a tutti gli utenti di connettersi dal 192.168.12.10 al database
# “postgres” se la password md5 fornita è corretta.
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host postgres all 192.168.12.10/32 md5

# In questo caso stiamo negando qualsiasi connessione dal 192.168.54.1 dato che
# capita per prima ma accetta connessioni tramite Kerberos 5 da ogni altro
# indirizzo
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.54.1/32 reject
host all all 0.0.0.0/0 krb5

# Permette agli utenti da 192.168.x.x di connettersi a tutti I db, se
# il controllo ident viene superato. Ad esempio, ident dice che l’utente
# “pippo” e ha richiesto di connettersi come utente PostgreSQL “guest1”, la
# connessione è permessa se c’è un entry in pg_ident.conf per la map
# “omicron” che indica che “pippo” è autorizzato a connettersi come “guest1”.
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.0.0/16 ident omicron

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi