Я пишу оболочку для автоматизации процесса, эта оболочка будет запускаться от имени пользователя root или от имени другого пользователя, но не от имени пользователя postgres (имеется в виду, что пользователь просто запустит скрипт)
То, что я сделал как postgresпользователь во время тестирования был
touch /var/lib/postgresql/10/main/recovery.conf
sudo nano recovery.conf (wrote some content )
ctrl +O
Однако всякий раз, когда я пытаюсь сделать это, используя следующие строки в моей оболочке в качестве другого пользователя (включая пользователя root)
sudo -H -u postgres bash -c "touch /var/lib/postgresql/10/main/recovery.conf"
Файл создается какПользователь postgres - это то, что я хотел, и затем я запускаю
sudo -H -u postgres bash -c echo "content" > /var/lib/postgresql/10/main/recovery.conf
и получаю
-bash: /var/lib/postgresql/10/main/recovery.conf: Permission denied
Почему я могу создать файл, но не помещать в него содержимое?
Я уже пытался выдать разрешения 775 и 777, используя chmod
chmod 775 recovery.conf
в качестве пользователя psotgres, и я получаю
-rwxrwxr-x 1 postgres postgres 133 May 11 22:11 recovery.conf
этому файлу в качестве пользователя postgres, но ошибка все еще сохраняетсятак что я не понимаю, что происходит