在 LTS 16 中为用户添加 CAP_SYS_PTRACE

在 LTS 16 中为用户添加 CAP_SYS_PTRACE

我希望能够使用 gdb 附加到进程。该进程具有我的 uid,但可执行文件是 set-gid。所以,显然,我正在学习 PAM。据我了解,任何附加到 set-gid 进程的进程都需要CAP_SYS_PTRACE(或成为超级用户)。

如果有任何问题:

$ cat /proc/sys/kernel/yama/ptrace_scope
0

遵循以下建议pam_cap(8)我寻找/etc/security/capabilities.conf。在 LTS 16 上不存在,但目录存在,因此我创建了该文件:

CAP_SYS_PTRACE jklowden

我还将其附加到/etc/pam.d/common-auth

# Cf. advice in pam_cap(8)
auth      optional        pam_cap.so

但是新的登录无法附加到 set-gid 进程。

  1. 如何展示流程的能力?
  2. 我必须重新启动吗聚丙烯酰胺还是其他什么?怎么办?
  3. 在此功能起作用之前是否有另一个文件需要修改?
  4. 哪里有比这里更好的地方来了解这些事情?

咆哮sudo -g $gid -p $pid没有帮助。正如手册上所说,非特权进程无法跟踪它们无法发送信号的进程或运行设置用户 ID/设置组 ID 程序的进程, 原因显而易见 实际上,我不明白为什么我不能从同一组中的进程跟踪我拥有的进程,只是因为该文件被标记为 set-group-ID。该策略鼓励以超级用户身份进行调试,这无疑不太安全。[结束咆哮]

相关内容