CentOS 7 pg_ctl: не удалось получить доступ к каталогу "/ var / lib / pgsql / data": разрешение отклонено - PullRequest
0 голосов
/ 15 ноября 2018

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

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

В UNIX каждый процесс выполняется с разрешениями пользователя, запускающего исполняемый файл, а не владельца исполняемого файла (если не установлен флаг SETUID ).

Неважно, кому принадлежит pg_ctl, но вы должны быть пользователем postgres, когда запускаете его.

0 голосов
/ 15 ноября 2018

Для определения реальной проблемы требуется несколько шагов по устранению неполадок.

  1. Узнайте права пользователя / владельца и файлы для этого расположения в Linux:
Ls - al /var/lib/pgsql/data/

ls - al / var / lib / pgsql /

  1. Попробуйте перейти к пользователю postgres и получить доступ к каталогу в 1

    # su - postgres

Следующие ссылки должны заполнить пробелы для нескольких шагов, чтобы проверить вещи. По ссылке № 2 вы не перемещаете каталог, но вы видите шаги, чтобы убедиться, что каталог готов / доступен

https://wiki.postgresql.org/wiki/First_steps

https://www.digitalocean.com/community/tutorials/how-to-move-a-postgresql-data-directory-to-a-new-location-on-ubuntu-16-04

Обновление

Из комментариев похоже, что pg ctl запускается от имени пользователя x ... и не имеет достаточных разрешений

Не зная много о вашей среде, может быть лучше, чтобы postgres был тем пользователем, который запускает pg ctl, так как он уже делает что-то связанное ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...