You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AlmaLinux9+cPanel环境下非root用户运行Headless Chrome/Puppeteer失败求助

非root cPanel用户在CloudLinux LVE环境下运行Headless Chrome/Puppeteer失败问题

环境信息

  • AWS EC2 VPS(KVM虚拟化)
  • AlmaLinux 9(最新版)
  • cPanel + CloudLinux + LVE(测试时未启用CageFS)
  • SELinux:已禁用
  • Google Chrome 137(Testing版本,支持本地/系统级安装)
  • Puppeteer 22.8.2
  • Node.js v20.x

可正常运行场景

  • root用户执行以下命令可正常输出版本:
    google-chrome-stable --headless --no-sandbox ... --version
    

异常场景

  • cPanel用户(无论是否启用CageFS)执行本地Chrome命令报错Trace/breakpoint trap (core dumped):
    /home/nexus/nodeapps/node/chrome/linux-137.0.7151.70/chrome-linux64/chrome --headless --no-sandbox ... --version
    
  • 使用Puppeteer捆绑的Chromium时,提示「无法启动浏览器进程」

已尝试的排查操作

  • 为目标用户禁用CageFS:cagefsctl --disable nexus
  • 确认SELinux状态:getenforce返回Disabled
  • 调整ulimit参数,将所有资源限制设为高值/无限制(最大文件数、进程数、内存等)
  • 通过ldd检查Chrome二进制文件,确认所有依赖库均存在(无「not found」错误)
  • 将LVE用户资源限制调至最大值
  • 确保home目录及.config目录权限配置正确
  • 测试多个版本的Google Chrome和Chromium
  • 分别测试系统级和用户本地安装的Chrome/Puppeteer
  • 测试启用/禁用所有沙箱相关启动参数
  • 验证root用户始终可正常运行,非root用户始终失败
  • Node.js脚本和直接运行Chrome二进制文件时,非root用户均出现相同崩溃情况

关键系统信息

  • uname -a:(待补充输出)
  • cat /etc/redhat-release:AlmaLinux 9.x
  • virt-what:kvm, aws
  • getenforce:Disabled
  • ulimit -a:所有限制已设为高值/无限制
  • ldd /home/nexus/nodeapps/node/chrome/linux-137.0.7151.70/chrome-linux64/chrome:所有依赖库均存在
  • 未发现明显资源或权限问题

怀疑方向

问题可能源于用户命名空间、内核或LVE/PAM加固设置,导致Chrome/Chromium即使禁用沙箱,仍无法以非root用户启动;root用户不受该限制影响。目前dmesg/journal中未发现相关拦截日志,已尝试所有Chrome/Puppeteer官方及社区常见解决方案。

求助问题

  1. 如何在此环境下让非root用户正常运行Headless Chrome或Puppeteer?
  2. 还有哪些系统级、内核或CloudLinux/cPanel配置会阻止非root用户运行Headless Chromium/Chrome(即使禁用所有沙箱且无明显用户限制)?
  3. AlmaLinux 9 + CloudLinux LVE/cPanel环境下是否有已知修复方案?

欢迎提供任何帮助、建议或进一步的调试思路!

内容的提问来源于stack exchange,提问作者Muhammad Noman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:00:07