ptrace(PTRACE_ATTACH, ...) Operation not permitted问题(转)

https://stackoverflow.com/questions/19215177/how-to-solve-ptrace-operation-not-permitted-when-trying-to-attach-gdb-to-a-pro

https://www.manongdao.com/article-532637.html

https://blog.csdn.net/kan2016/article/details/91417529

 

 

在新版本fedora22用gdb调试程序的时候,发现出现

Attaching to process 21683
ptrace: Operation not permitted.

主要redhat在fedora22之后的版本中,引入了一种叫做ptrace scope的安全机制。这种机制为了防止用户访问当前正在运行的进程的内存和状态,所以在调试程序的过程中导致gdb不能正常工作。这种安全机制可以防止恶意软件附加到其他进程中(如SSH或者GPG),读取程序内存,产生安全问题。比如著名的openssl的"心脏出血"漏洞。

其解决方法有两种,都需要root权限进行操作
(1)临时方法

将/proc/sys/kernel/yama/ptrace_scope虚拟文件的内容设为0。

echo 0 > /proc/sys/kernel/yama/ptrace_scope

重启之后失效。

(2)永久解决

编辑/etc/sysctl.d/10-ptrace.conf这个文件,若没有,创建之。设置(默认是1)

kernel.yama.ptrace_scope = 0

这样下次启动时会生效。

参考:

https://rajeeshknambiar.wordpress.com/2015/07/16/attaching-debugger-and-ptrace_scope/

https://www.kernel.org/doc/Documentation/security/Yama.txt

posted on   lh03061238  阅读(3102)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-09-05 串口X-modem协议

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示