首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命:无法访问私钥文件“/etc/ssl/私有/ssl-cert-snakeoil.key. key”:权限被拒绝

问致命:无法访问私钥文件“/etc/ssl/私有/ssl-cert-snakeoil.key. key”:权限被拒绝
EN

Stack Overflow用户
提问于 2015-12-10 19:00:43
回答 7查看 30.4K关注 0票数 17

我相信我最终混淆了/etc/ssl目录树上的权限,因为最后一次修改是在11月18日,也就是在我无法让我的PostgreSQL工作的一天之后。

当我打字时

sudo服务postgresql启动

我得到了

致命:无法访问私钥文件“/etc/ssl/私有/ssl-cert-snakeoil.key. key”:权限被拒绝

检查权限

~$ sudo -i ~$ ls -la /etc/ssl/私有 drw-r -rwxrwxrwx 1 postgres postgres 1704套装4 11:26 ssl-cert-snake.key

检查组组成

~$ id postgres uid=114(postgres) gid=127(postgres) groups=127(postgres),114(ssl-cert)

我还注意到我在/etc/ssl/certs/上的.etc文件没有符号链接。我不知道这是否有什么区别..。

拜托,帮我解决这个问题。

谢谢。

编辑:应该在服务器故障上发布吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-04-16 14:35:14

尝试将postgres用户添加到组ssl-cert中

运行以下代码以解决问题:

代码语言:javascript
复制
# > It happened to me and it turned out that I removed erroneously the postgres user from "ssl-cert" group, set it back with
sudo gpasswd -a postgres ssl-cert

# Fixed ownership and mode
sudo chown root:ssl-cert  /etc/ssl/private/ssl-cert-snakeoil.key
sudo chmod 740 /etc/ssl/private/ssl-cert-snakeoil.key

# now postgresql starts! (and install command doesn't fail anymore)
sudo /etc/init.d/postgresql start

科齐到GabLeRoux

票数 29
EN

Stack Overflow用户

发布于 2016-06-09 10:44:22

检查…的输出

代码语言:javascript
复制
$ sudo -u postgres
$ cd /etc/ssl/private
$ ls

如果响应是“拒绝权限”,请执行以下操作

代码语言:javascript
复制
$ chown postgres:ssl-cert /etc/ssl/private/
$ chown postgres:postgres /etc/ssl/private/ssl-cert-snakeoil.key
票数 12
EN

Stack Overflow用户

发布于 2019-12-08 09:06:18

只有当您更改了/etc/ssl/私有的权限时才能工作

代码语言:javascript
复制
mkdir /etc/ssl/private-copy; mv /etc/ssl/private/* /etc/ssl/private-copy/; rm -r /etc/ssl/private; mv /etc/ssl/private-copy /etc/ssl/private; chmod -R 0700 /etc/ssl/private; chown -R postgres /etc/ssl/private

复制整个命令(这是一行代码)。

如果这不适用于您,请使用groups postgres来模仿postgres用户组,并确保您的postgres用户具有ssl-cert根postgres (订单无关紧要)。

现在让我们检查一下您对ssl/私有文件的权限:

代码语言:javascript
复制
$ ls -la /etc/ssl/
> drwx------   2 postgres root private

如果这不是输出,则更改sudo chmod -R 700 /etc/ssl/private和所有者的权限( chown -R postgres:root /etc/ssl/private )

代码语言:javascript
复制
//Now check permissions on ssl-cert-snakeoil.key, 
//which will be inside your **private** directory.
$ ls -la /etc/ssl/private/ssl-cert-snakeoil.key
> -rwx------ 1 postgres root /etc/ssl/private/ssl-cert-snakeoil.key
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34209661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档