FreeBSD 核心转储文件权限

FreeBSD 核心转储文件权限

有没有办法指定核心转储文件的权限?

当我使用sysctl这些是我看到的变量。

kern.corefile: /var/coredump/%N.core
kern.nodump_coredump: 0
kern.coredump: 1
kern.capmode_coredump: 0
kern.sugid_coredump: 1
debug.ncores: 5
debug.elf32_legacy_coredump: 0
debug.elf64_legacy_coredump: 0

这些都已配置为将核心正确转储到 /var/coredump 目录中。但是,我没有看到任何指定文件权限的方法。

我突然想到,我可以通过 root 的 crontab 运行一个脚本,每 1m 更改该目录的权限。然而,这似乎不是一个合适的解决方案。

有没有办法正确更改核心文件权限?

答案1

目前,内核总是会创建一个具有0600权限的core文件;它是硬编码在 C 源代码中的。

如果您可以重建内核,则要更改的行位于kern/kern_sig.c(在 10.3 和 11.0 中)函数中corefile_open()

cmode = S_IRUSR | S_IWUSR;

相关内容