gpt4 book ai didi

linux - 如何获得调试postgres的权限?

转载 作者:太空狗 更新时间:2023-10-29 12:21:59 27 4
gpt4 key购买 nike

我有一个系统使用 C 方法作为 Postgres 数据库中的函数。当我尝试使用我的用户帐户运行 gdb 时,我得到以下信息:ptrace:不允许操作

它看起来像一个许可的东西。当我以“postgres”用户身份运行 gdb 时,它似乎起作用了。我想继续以“postgres”用户身份运行 postgres,而不必在我想调试时 su postgres。我可以以某种方式授予我的用户帐户对相关进程的“ptrace”权限吗?将我自己添加到“postgres”组似乎没有帮助。

编辑:我在 ptrace 手册页上找到了这个:

EPERM  The specified process cannot be traced.  This could  be  because              the  parent has insufficient privileges (the required capability              is CAP_SYS_PTRACE); non-root processes  cannot  trace  processes              that  they  cannot  send  signals  to or those running set-user-              ID/set-group-ID programs, for obvious  reasons.   Alternatively,              the process may already be being traced, or be init(8) (PID 1).

那么我如何才能将 CAP_SYS_TRACE 权限授予我的用户呢?

最佳答案

CAP_SYS_TRACE 似乎是由 LIDS 控制的,您的计算机上可能安装了也可能未安装。

如果您在 postgres 上进行大量开发,您可能更愿意在您自己的帐户下运行一个 postgres 实例 - 这就是我对我工作的许多服务器所做的。

关于linux - 如何获得调试postgres的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971324/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com