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/

10-16 13:55