首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

PHP shell_exec 调用不了 iptables

  •  
  •   demos · 33 天前 · 1544 次点击
    这是一个创建于 33 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <?php
    echo shell_exec("iptables -nvL");
    echo 1234;
    ?>

    RT 这个简单的代码,但是没有输出,把 iptables -nvL 换成 ls 等其它命令就可以。
    其大佬指教一下,谢谢
    11 回复  |  直到 2019-04-20 20:24:43 +08:00
        1
    gam2046   33 天前
    开局一把唆,问题全靠猜。

    我猜是权限问题。
        2
    zhs227   33 天前
    估计是权限问题。一般如果是网页方式运行,如 fastcgi 或 fpm 或 apache mod,都是 www 用户,这一用户是没有权限执行 iptables 的。用 shell 方式执行可破。比如 sudo /usr/local/php/bin/php test.php
        3
    demos   33 天前
    @gam2046 谢谢,搜索了下很有可能是权限问题
        4
    demos   33 天前
    @zhs227 感谢,环境是 centos、nginx、php-fpm,正在搜索解决方案
        5
    moult   33 天前 via iPhone
    这个函数没有返回退出马的,你需要换一个函数获取退出马就知道原因了。
        6
    defunct9   33 天前 via iPhone   ♥ 1
    开 ssh,让我上去看看
        7
    jamblues   33 天前 via iPhone
    /sbin/iptables
        8
    demos   33 天前
    确实是权限问题,已解决,感谢楼上各位大佬
        9
    chotow   33 天前   ♥ 5
    @demos #8 每次看到这种楼主最后说已解决的帖子,我都很想知道楼主到底怎么解决的,为什么不能顺手贴一下方案 🌚 ……
        10
    yikuo   33 天前 via Android
    @chotow 确实,特别是自己碰到了,但找不到解决方法的时候
        11
    wd   33 天前 via iPhone
    @chotow #9 解决方法无非是把 web 用 root 跑 或者想办法让 命令可以用 www 用户跑,都有安全隐患
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3991 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 05:55 · PVG 13:55 · LAX 22:55 · JFK 01:55
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1