linux - instalar - PostgreSQL no se iniciarĂ¡: "server.key" tiene acceso de grupo o mundial
install odoo 11 ubuntu server (6)
Siempre que inicie PostgreSQL usando el comando:
$ sudo /etc/init.d/postgresql start
Pg no se inicia. El error reportado es:
* Starting PostgreSQL 8.4 database server
* The PostgreSQL server failed to start. Please check the log output:
2010-01-21 22:10:00 PST FATAL: private key file "server.key" has group or world access
2010-01-21 22:10:00 PST DETAIL: File must be owned by the database user or root, must have no write permission for "group", and must have no permissions for "other".
... y cuando intento acceder a psql
como usuario de postgres
con:
$ sudo su postgres
$ psql
me da un error:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
¿Qué hay de no copiar la clave del servidor y dejarla donde y como está?
En su lugar, es más sencillo:
Cambie los permisos del enlace "server.key" en el directorio de datos de PostgreSQL (es la ubicación donde reside el enlace al archivo de certificado.key privado)
# cd /var/lib/postgresql/9.1/main/
a
# chown -R postgres:postgres server.key`
Y asegúrese de que el certificado original en
# /etc/ssl/private/ssl-cert-snakeoil.key
tiene esas propiedades, configurándolas
# chmod 640 ssl-cert-snakeoil.key
# chown root:ssl-cert ssl-cert-snakeoil.key
Esta solución ha sido probada en Debian. Recuerde que CentOS puede utilizar SELinux con la Administración de derechos de usuario extendida, que puede verse por
# ls -laZ *
Como dice el mensaje de error, arregle los permisos para el archivo de clave server.key
. El servidor se ejecuta como usuario "postgres" que debe poseer el archivo. Tratar
#cd <path/to/pgsql/data>
#chown postgres server.key
#chmod 0640 server.key
Establezca los permisos de /etc/ssl/private
en root:ssl-cert
. Los comentarios sobre este tema me hicieron probar esta solución.
NOTA : aunque la respuesta sea aceptada, no resolvió mi problema. Para ayudar a alguien más quería responder aquí.
Lo había resuelto usando ...
1) Ingrese el directorio relevante (use> localizar server.key)
2) Copia de seguridad del viejo enlace server.key.
3) Copie ssl-cert-snakeoil.key a server.key
4-5) Cambiar su propietario y grupo a postgres.
6) Asegúrese de que los permisos sean 700 o 740 (como lo solicita el mensaje de error)
Receta para mi Ubuntu 12.04 y postgresql-8.3:
sudo cd /var/lib/postgresql/8.3/main/
sudo mv server.key server.key-0
sudo cp /etc/ssl/private/ssl-cert-snakeoil.key server.key
sudo chown postgres server.key
sudo chgrp postgres server.key
sudo chmod 740 server.key
sudo /etc/init.d/postgres-8.3 start
¡Y ahora está funcionando! Gracias por el apoyo.
Me sucedió y resultó que eliminé erróneamente al usuario de postgres del grupo "ssl-cert", lo configuré de nuevo con
gpasswd -a postgres ssl-cert
sudo chown postgres /var/lib/postgresql/8.4/main/server.key
sudo chmod 0640 /var/lib/postgresql/8.4/main/server.key
Presione la pestaña después de postgresql para confirmar su versión.