PTRACE_ATTACH not permitted for

c, linux, process, ptrace

Solution

Looks like you answered your own question -- you have ptrace_scope set to 1, so you can only trace direct children. To allow tracing any process belonging to the same user, set it to 0. This is also required to use the gdb `attach` command.

READ the /etc/sysctl.d/10-ptrace.conf file as your error message suggested...

Problem

For some reason i am not able to attach to my very own processes?! Works fine if i try `strace` as root. ``` $ ./list8 & [1] 3141 $ child4 starts... $ strace -p 3141 attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted Could not attach to process. If your uid matches the uid of the target process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf $ cat /proc/sys/kernel/yama/ptrace_scope 1 ``` Running on lubuntu 13.10 ``` Linux goal 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013 i686 i686 i686 GNU/Linux ``` So then how does `gdb` attach to user's own processes without having to muck around with kernel settings (`ptrace_scope`)??

Original source