在 Linux 中,可通过以下几种机制限制进程执行危险系统调用(如 reboot、unlink 删除文件等):
1. Seccomp(推荐)
Seccomp 能白名单式限制进程可调用的系统调用。例如,用 seccomp-bpf 或工具如 systemd、Docker、Firejail 设置规则,禁止 reboot、kill、unlink 等 syscall。开发者也可在程序中用 libseccomp 编写策略。
2. Capabilities(能力)
Linux 将 root 权限拆分为细粒度“能力”。通过 capsh 或 systemd 去掉进程的危险能力,如:
CAP_SYS_BOOT(禁止 reboot)
CAP_DAC_OVERRIDE(禁止绕过文件权限删除)命令示例:
capsh --drop=cap_sys_boot,cap_dac_override -- -c "your_command"
3. 沙箱工具(简单易用)
Firejail:用配置文件禁用危险 syscall 或能力,例如 firejail --noprofile --seccomp your_app。
Bubblewrap:配合 --ro-bind 只读挂载、--dev 限制设备,间接防止删除或重启。
网友回复
阿里云ESA、cloudflare worker、腾讯云EdgeOne网站代理托管哪家更好?
剪映能打开.fcpxml格式的文件吗?
增量式编码器与绝对式编码器的区别是啥?
有没有开源的单张照片或者序列帧图片或视频就能重建4d场景动画项目?
chrome网页突然报错:错误代码:RESULT_CODE_KILLED_BAD_MESSAGE
openai的codex如何全程无需手动确认自动修改文件?
阿里云oss前端上传文件直传如何限制文件类型?
阿里云oss前端获取policy签名直传oss上传文件回调如何传?
如何将根据三维物体通过提示词变成可交互的4d场景动画?
浏览器中实时摄像头离线视觉ai模型有吗?


