我希望能够使用 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 进程。
- 如何展示流程的能力?
- 我必须重新启动吗聚丙烯酰胺还是其他什么?怎么办?
- 在此功能起作用之前是否有另一个文件需要修改?
- 哪里有比这里更好的地方来了解这些事情?
咆哮:sudo -g $gid -p $pid
没有帮助。正如手册上所说,非特权进程无法跟踪它们无法发送信号的进程或运行设置用户 ID/设置组 ID 程序的进程, 原因显而易见。 实际上,我不明白为什么我不能从同一组中的进程跟踪我拥有的进程,只是因为该文件被标记为 set-group-ID。该策略鼓励以超级用户身份进行调试,这无疑不太安全。[结束咆哮]