غير قادر على تحرير ملف pg_hba.conf في Postgresql

أريد إنشاء نسخة احتياطية من ملف pg_hba.conf الأصلي (قد يكون مثل pg_hba.conf.bk) ثم إضافة إدخال إلى ملف pg_hba.conf الموجود. حتى الآن هذا ما كنت أحاول القيام به ، ولكن في كل مرة تقول الإذن أنكر حتى لو ذهبت عن طريق مستخدم الجذر أو استخدام sudo.

محاولتي:

$ pg_conftool -s 10 main show hba_file
[OUT] /etc/postgresql/10/main/pg_hba.conf

$ sudo cat /etc/postgresql/10/main/pg_hba.conf
    [OUT] local   all             postgres                              peer
          local   all             all                                   md5
          host    all             all             127.0.0.1/32          md5
          host    all             all             ::1/128               md5

الآن عندما أحاول إضافة سطر فيه ، أحصل على الإذن نفى الخطأ

$ sudo echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/10/main/pg_hba.conf
[OUT] bash: /etc/postgresql/10/main/pg_hba.conf: Permission denied

سيكون هذا جزءًا من نص النشر ، لذلك لا يمكنني فعلاً الدخول إلى pg_hba.conf يدويًا. لذا ، كيف يمكنني إدخال في ملف conf؟

0

1 إجابة

The way you wrote your command, the redirection >> will be outside the sudo command, so it is executed with the permissions of the normal user. Hence the error message.

جرب سطر الأوامر هذا:

sudo sh -c 'echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/10/main/pg_hba.conf'
0
وأضاف
تقصد مثل هذا sudo 'echo "host all all 0.0.0.0/0 trust" >>/etc/postgresql/10/main/pg_hba.conf' ؟؟ لأن هذا لم ينجح. هل يمكنك أن تضربها بنفسك ..
وأضاف المؤلف Aman Singh, مصدر
نعم فعلا. تجربة للحصول على النحو الصحيح.
وأضاف المؤلف Laurenz Albe, مصدر
لقد ارتكبت خطأ. انظر إجابتي المحدثة.
وأضاف المؤلف Laurenz Albe, مصدر