小弟想用PHP来做个系统挂载磁盘功能 php登陆linux系统的用户是vpop 
大家都知道 mount命令非root用户是不能使用的 所以我使用了sudo 并且
用visuo更改了 相关设置
最后用vpop登陆系统的时候 
直接输入 sudo mount /dev/sdb1 /disk 命令 
执行成功 
可是 我用php却调用不起来 
exec("/usr/bin/sudo /bin/mount /dev/sdb1 /disk");
却没有一点反应 
请高人指点 用php来实现挂载磁盘 应该怎么实现呀?

解决方案 »

  1.   

    exec("sudo mount /dev/sdb1 /disk ");這樣執行沒有問題
    有個問題執行sudo時如果需要輸入密碼,php做不到
      

  2.   

    echo exec("sudo mount /dev/sdb1 /disk ");
    查看下返回結果
      

  3.   

    看下运行apache的用户有没有,sudo权限
      

  4.   

    运行apache的用户就是vpop他是具有sudo的权限的 
    echo exec("sudo mount /dev/sdb1 /disk "); 
    也是没有返回结果的 这个是为什么呀?
      

  5.   

    与其费力的让这个用户具有sudo权限,不如直接给root权限好了,反正你也不需要用户输入密码。
      

  6.   

    /etc/sudoers
    apache ALL=NOPASSWD: ALLp.s. 这样是不安全的,最好是设只能sudo mount, umount 
    # %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom自己研究一下吧
      

  7.   


    首先要考虑一下安全问题,呵呵。最好过滤一下命令。然后考虑直接给Apache的Root权限,这样更好。