不能 运行 pg_dump 除非它来自没有 "sudo" 的命令行

Can't run pg_dump unless It's from command line without "sudo"

我有一个 cron 作业 运行ning 作为 "admin"。在 shell 脚本中,我使用 pg_dump 并获得拒绝权限。

我不明白。毕竟,从命令行我确实得到了这个:

    $ whomi
    admin

    $ pg_dump
    (it works....)

    $ sudo pg_dump
    doesn't work. (permission denied)


    $ sudo -u admin pg_dump 
    still doesn't work (permission denied).

如何让它发挥作用?或者更好的是,我如何让用户 "www-data" 能够 运行 pg_dump 未经许可被拒绝,以便这将起作用:

sudo -u www-data pd_dump

分为两部分:

  1. 连接到数据库的用户应该在 pg_hba.conf
  2. user”被认为是您登录时使用的 linux 用户名,除非您在 pg_dump 命令中特别提供了 -U newuser

因此对于您的查询,在 pg_hba.conf 中添加“www-data”+ 重新启动(或重新加载)应该可以完成工作。