doutou6803 2012-09-08 07:27
浏览 93
已采纳

通过php以root身份运行命令

I have a php script which contains su. when I run it in shell it ask for root password and works well. but now I want make an interface for it. as you know all command in php-apache runs as www-data user and this user doesn't have specified password or it's not in sudoers. so I can't use "echo pass | sudo -S ..." because I don't know what is www-data's password and It is not logical on every server set password for www-data or add it in sudoers+nopass, is it?

What solution can you suggest to solve this problem?

one of my commands:

su -c \"/usr/sbin/dmidecode -s baseboard-serial-number | tr \  \-\"
  • 写回答

2条回答 默认 最新

  • dongzhi1851 2012-09-08 07:44
    关注

    phpseclib should be best library choice as it does not requires any additional extensions.

    <?php
    include('Net/SSH2.php');
    
    $ssh = new Net_SSH2('example.com');
    if (!$ssh->login('user', 'pass')) {
        exit('Login Failed');
    }
    
    echo $ssh->exec('whoami');
    echo $ssh->exec('pwd');
    ?>
    

    Another alternative is libssh2, but it has to be compiled separately and is notoriously difficult to setup/use.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题