PostgreSQL 10.6和CentOS 7
pg_ctl status
pg_ctl: could not access directory "/var/lib/pgsql/data": Permission denied`如果pg_ctl拥有所有权postgres:postgres,那么/var/lib/pgsql/data就不能访问它吗?
drwx------ 3 postgres postgres 94 Nov 14 06:43 pgsql如何在不创建漏洞的情况下修复此漏洞?为什么这会导致一个错误?
其他信息(编辑):
su - postgres
cd /var/lib
/var/lib/pgsql: drwx------ 3 postgres postgres 94 Nov 14 06:43 pgsql
/var/lib/pgsql/10: drwx------ 4 postgres postgres 33 Nov 14 06:38 10
/var/lib/pgsql/10/data: drwx------ 20 postgres postgres 4096 Nov 15 03:47 data发布于 2018-11-15 16:31:39
在UNIX中,每个进程都使用启动可执行文件的用户的权限运行,而不是可执行文件的所有者(除非设置了SETUID标志)。
因此,谁拥有pg_ctl并不重要,但在运行它时,您必须是用户postgres。
发布于 2018-11-15 13:47:34
这需要很少的故障排除步骤来找出真正的问题。
Ls - al /var/lib/pgsql/data/ ls - al /var/lib/pgsql/
下面的链接应该在几个步骤中填空,以检查事物。在#2链接上,您没有移动dir,但是您看到了确保dir就绪/可访问的步骤。
更新
从注释来看,pg ctl看起来是以用户x的身份运行的。并且缺乏足够的权限
在不了解您的环境的情况下,最好让postgres成为运行pg ctl的用户,因为它已经在做一些相关的事情了。
https://stackoverflow.com/questions/53315221
复制相似问题