首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从setcap可执行文件中获取核心转储?

如何从setcap可执行文件中获取核心转储?
EN

Stack Overflow用户
提问于 2011-08-05 05:28:25
回答 1查看 945关注 0票数 2

为了防止特权数据外泄,Linux上的setcap可执行文件不会转储core:

代码语言:javascript
复制
ijw@build$ cat > test.c
main() { abort(); }
ijw@build$ gcc test.c
test.c: In function ‘main’:
test.c:1: warning: incompatible implicit declaration of built-in function ‘abort’
ijw@build$ ./a.out 
Aborted (core dumped)
ijw@build$ sudo setcap "cap_net_admin=+ep" a.out                 
ijw@build$ ./a.out 
Aborted

有没有办法在调试时启用它,并且实际上想要查看核心文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-05 05:47:36

经过更多的研究,我有两个答案。

  1. 你可以改变整个系统的行为。除了单用户开发机器之外,这并不是很适合,但它做到了这一点:

echo 1>/proc/sys/fs/suid_suid

  • 您可以通过在特定程序中调用prctl()来更改它的行为:

prctl(PR_SET_DUMPABLE,1);

通过这种方式,特权程序自己确定它应该是可转储的,并且整个系统不会受到影响。

我还没试过这个。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6948747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档