quinta-feira, 26 de setembro de 2013

Como recuperar senha do usuário Postgres

Como recuperar a senha do usuário Postgres 

Logue no servidor como root e utilize o comando abaixo para abrir uma sessão como Postgres no sistema. Isto é opcional, pois você pode editar o arquivo como root se quiser: 

# su - postgres 

Antes de definirmos uma nova senha, é preciso alterar um parâmetro no arquivo “pg_hba.conf”. 

Neste arquivo, configuramos como os clientes, usuários e etc, serão autenticados no Servidor. 

Como método de autenticação, temos os seguintes modos: 

trust - reject - md5 - password - gss - sspi - krb5 - ident - pam - ldap - cert 

Abaixo, reproduzo o conteúdo do arquivo. 

# TYPE    DATABASE    USER    CIDR-ADDRESS    METHOD
# “local” is for Unix domain socket connections only
local     all         all                     ident
# IPv4 local connections:
host      all         all     127.0.0.1/32   ident
# IPv4 local connections:
host      all         all     ::1/128            ident

Não vou abordar todos os modos, pois não é nosso objetivo. O que será útil neste momento, é método 'trust'. 

Utilize o editor de sua preferência e altere a última coluna, de maneira que fique assim: 

# TYPE    DATABASE    USER    CIDR-ADDRESS    METHOD
# “local” is for Unix domain socket connections only
local     all         all                     trust

Para que as alterações tenham efeito, dê um "restart" no daemon do Servidor. 

* Tenha cuidado, e somente altere se for esta a finalidade. 

Terminado o processo, volte com a configuração que estava, por uma questão de segurança, é claro! 

# service postgresql restart 

Ainda no terminal, obtenha o Login do usuário Postgres, e execute a ferramenta 'psql'. 

Note que não será necessário senha para se logar, exatamente por causa da diretiva ‘trust’ que inserimos no arquivo “pg_hba.conf”. 

$ psql 

No Prompt do Postgres, digite: 

postgres-# ALTER ROLE postgres PASSWORD 'novasenha'; 

Nenhum comentário:

Postar um comentário