linux PostgreSQL无法启动:“server.key”具有组或全局访问权限

xwmevbvl  于 12个月前  发布在  Linux
关注(0)|答案(8)|浏览(145)

每当我使用命令启动PostgreSQL时:

$ sudo /etc/init.d/postgresql start

字符串
Pg不启动。报告的错误是:

* 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".


.当我尝试以postgres用户的身份访问psql时:

$ sudo su postgres
$ psql


它给了我一个错误:

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"?

i1icjdpr

i1icjdpr1#

我已经解决了它使用..
1)输入相关目录(使用> locate server.key)
2)备份旧服务器。关键链接。
3)将ssl-cert-snakeoil.key复制到server.key
4-5)将其所有者和组更改为postgres
6)确保权限为700或740(根据错误消息的要求)
我的Ubuntu 12.04和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

字符串
现在它的工作!感谢支持。

sbdsn5lh

sbdsn5lh2#

不要硬拷贝服务器密钥,把它留在原地怎么样?
相反,它更简单:
更改PostgreSQL数据目录中的“server.key”链接(它是指向私有证书.key文件的链接所在的位置)
第一个月

# chown -R postgres:postgres server.key`

字符串
并确保原始证书

# /etc/ssl/private/ssl-cert-snakeoil.key


具有这些属性,通过设置它们

# chmod 640 ssl-cert-snakeoil.key
# chown root:ssl-cert ssl-cert-snakeoil.key


此解决方案已在Debian上测试过。请记住,CentOS可以使用带有扩展用户权限管理的SELinux,可以通过

# ls -laZ *

fivyi3re

fivyi3re3#

正如错误消息所说,修复密钥文件server.key的权限。服务器以用户“postgres”的身份运行,该用户应该拥有该文件。尝试

#cd <path/to/pgsql/data> 
#chown postgres server.key
#chmod 0640 server.key

字符串

6ovsh4lw

6ovsh4lw4#

它发生在我身上,原来我错误地从“ssl-cert”组中删除了postgres用户,
gpasswd -a postgres ssl-cert

k3bvogb1

k3bvogb15#

/etc/ssl/private的权限设置为root:ssl-certthis issue上的评论让我尝试了这个解决方案。

  • 注意 *:即使坚韧的答案被接受,它没有解决我的问题。为了帮助别人,我想在这里回答 *。
xriantvc

xriantvc6#

sudo chown postgres /var/lib/postgresql/8.4/main/server.key

sudo chmod 0640 /var/lib/postgresql/8.4/main/server.key

字符串
在postgresql后点击tab确认你的版本。

6ss1mwsb

6ss1mwsb7#

关注https://www.postgresql.org/docs/9.6/ssl-tcp.html
使用“chmod og-rwx server.key”并使用chown命令将用户更改为postgres用户。

agyaoht7

agyaoht78#

对我来说,解决办法很简单:
第一个月

相关问题