2012-03-23 12 views
15

En la versión corta de postgres' instalarlo me dice que haga lo siguientecontraseña para postgres

./configure 
gmake 
su 
gmake install 
adduser postgres 
mkdir /usr/local/pgsql/data 
chown postgres /usr/local/pgsql/data 
su - postgres 
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & 
/usr/local/pgsql/bin/createdb test 
/usr/local/pgsql/bin/psql test 

Ahora crea el usuario postgres, pero a veces se pregunta por mis credenciales para que user. ¿Hay una contraseña predeterminada para el usuario postgres? ¿Por qué incluso necesito hacer otro user?

+0

Veo un cierre, ¿debo migrar esto a 'cortar fallo' o' superusuario'? – Doboy

Respuesta

32

What's the default superuser username/password for postgres after a new install?:

PRECAUCIÓN no es preferente La respuesta acerca de cómo cambiar la contraseña de UNIX para "postgres" a través de "$ sudo passwd postgres", e incluso puede ser peligroso !

Esta es la razón: de forma predeterminada, la cuenta de UNIX "postgres" está bloqueada, lo que significa que no se puede iniciar sesión con una contraseña. Si usa "sudo passwd postgres", la cuenta se desbloquea inmediatamente. Peor aún, si configura la contraseña como algo débil, como "postgres", entonces estará expuesto a un gran peligro de seguridad. Por ejemplo, hay una serie de bots intentando el nombre de usuario/contraseña combo "postgres/postgres" para iniciar sesión en su sistema UNIX.

Lo que debe hacer es seguir Chris James 's respuesta:

sudo -u postgres psql postgres 

# \password postgres 

Enter new password: 

explicarlo un poco ...

+3

tl; dr 'sudo passwd postgres' para establecer la contraseña – hughes

+33

Por supuesto, lea la respuesta vinculada,' sudo passwd postgres' should * not * use, en su lugar ejecute 'sudo -u postgres psql postgres' e ingrese' \ password postgres '. – hlovdal

+1

no funciona para mí ... Entiendo esto: "postgres no está en el archivo sudoers. Este incidente será informado". – rikkitikkitumbo

2

establecer la contraseña por defecto en el archivo .pgpass. Si el servidor no guarda la contraseña, es porque no está establecida en el archivo .pgpass, o los permisos están abiertos y, por lo tanto, se ignora el archivo.

Más información acerca de the password file here.

Además, asegúrese de verificar los permisos: en los sistemas * nix, los permisos de .pgpass deben denegar cualquier acceso al mundo o al grupo; lograr esto por el comando chmod 0600 ~/.pgpass. Si los permisos son menos estrictos que esto, el archivo será ignorado.

¿Ha intentado iniciar sesión con PGAdmin? Puede guardar la contraseña allí y modificar el archivo pgpass.

+1

Gracias! Este trabajo para mí en Windows 8.1 – juvchan

+0

@juvchan, no lo había probado en Windows 8.1. ¡Gustoso de trabajar para ti! – MAbraham1