如何调试systemd seccomp SystemCallFilter unit-name.service:主进程已退出,code=killed,status=31/SYS?

如何调试systemd seccomp SystemCallFilter unit-name.service:主进程已退出,code=killed,status=31/SYS?

系统单元文件:

[Service]
SystemCallFilter=[...]

错误信息:

unit-name.service:主进程已退出,code=killed,status=31/SYS

如何找出白名单中缺少哪个系统调用?

答案1

您可以首先获取失败的系统调用

journalctl _AUDIT_TYPE_NAME=SECCOMP

系统调用代码(例如 syscall=28)列在 下的标头中/usr/include。例如,在 Debian x86_64 上,它的格式为/usr/include/x86_64-linux-gnu/asm/unistd_64.h.

相关内容