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

SELinux环境下允许httpd查看同用户启动进程状态的问题求助

SELinux环境下允许httpd查看同用户启动进程状态的问题求助

我现在正试着让一个PHP应用管理后台任务,但在SELinux环境下这事变得有点棘手——看起来httpd的PHP进程没法访问其他httpd进程的/proc/{pid}目录。

我的核心需求其实很简单,就是要确认两个信息:

  • 目标PID的进程是否还在运行?
  • 这个进程是不是由正确的apache用户启动的?

说实话我完全搞不懂SELinux,查了一堆资料、翻了man手册也没找到解决方向,真心求各位大佬帮忙!

我已经尝试过这些方法,但在SELinux强制模式(setenforce 1)下都有问题:

  • 用PHP的file_exists("/proc/$pid/status")判断进程状态:开启SELinux就失败
  • 执行系统命令ps -o uname='' -p $pid获取进程所属用户:同样在SELinux开启时失败
  • 先通过file_exists("/proc/$pid")判断进程存在(这一步能成功),再尝试读取该目录的所有者信息:但后续的所有者检查操作全部失败
  • 试过修改/proc目录的安全上下文,想给httpd全开访问权限,但发现根本没法这么操作

我期望能找到一种可行的方法,让PHP进程可以获取到以下两个关键信息:

  • 指定PID的进程是否仍在运行
  • 指定PID的进程是否属于某个特定用户

备注:内容来源于stack exchange,提问作者user2622597

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 10:13:10