所有进程的 coredump_filter

kir*_*der 2 linux linux-kernel

是否可以在启动时为 linux 中的所有进程设置 /proc//coredump_filter?/proc/self/coredump_filter 将为当前 shell 和在 shell 中运行的所有进程设置,但不会为启动后的所有进程设置。这是否可以在内核中修补(当前值设置为 0x33)?

Har*_*rry 5

corey 的详细信息可以在man core...

http://man7.org/linux/man-pages/man5/core.5.html

内核参数文档给了我们这个

coredump_filter=
        [KNL] Change the default value for
        /proc/<pid>/coredump_filter.
        See also Documentation/filesystems/proc.txt.
Run Code Online (Sandbox Code Playgroud)

如果使用 grub 编辑您的/etc/default/grub文件并修改此变量。

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Run Code Online (Sandbox Code Playgroud)

对此

GRUB_CMDLINE_LINUX_DEFAULT="quiet coredump_filter=0x21"
Run Code Online (Sandbox Code Playgroud)

然后运行update-grub2以更新引导配置文件。注意0x21。位参数是

 bit 0  Dump anonymous private mappings.
 bit 1  Dump anonymous shared mappings.
 bit 2  Dump file-backed private mappings.
 bit 3  Dump file-backed shared mappings.
 bit 4 (since Linux 2.6.24)
        Dump ELF headers.
 bit 5 (since Linux 2.6.28)
        Dump private huge pages.
 bit 6 (since Linux 2.6.28)
        Dump shared huge pages.
 bit 7 (since Linux 4.4)
        Dump private DAX pages.
 bit 8 (since Linux 4.4)
        Dump shared DAX pages.
Run Code Online (Sandbox Code Playgroud)