PostgreSQL 10.6 和 CentOS 7
pg_ctl status
pg_ctl: could not access directory "/var/lib/pgsql/data": Permission denied`
鉴于
pg_ctl
拥有 /var/lib/pgsql/data
的所有权,postgres:postgres
不能访问它吗?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
最佳答案
在 UNIX 中,每个进程都以启动可执行文件的用户的权限运行,而不是可执行文件的所有者(除非设置了 SETUID 标志)。
因此,谁拥有 pg_ctl
并不重要,但是在运行它时您必须是用户 postgres
。
关于postgresql - CentOS 7 pg_ctl : could not access directory "/var/lib/pgsql/data": Permission denied,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53315221/