【发布时间】:2016-11-02 09:04:15
【问题描述】:
大家好,我正在尝试实现一个 Web 界面来操作我的无线网络。
其中一项操作是将我的卡配置为监控模式。很简单,如果你运行这个命令:
bash prepareCard.sh wlan0
脚本prepareCard.sh如下:
#! /bin/bash
IFACE=$1
ifconfig $IFACE down
iwconfig $IFACE mode monitor
ifconfig $IFACE up
现在我想通过一个 php 脚本来执行这个脚本:
$cmd = shell_exec("bash prepareCard.sh wlan0");
当我检查卡是否已设置为监控模式时,什么都没有!它仍然处于管理模式! 你能告诉我我哪里出错了吗?
【问题讨论】:
-
我不确定。请检查您的
php file和prepareCard.sh是否在同一文件夹路径中。并尝试使用$cmd = shell_exec("./prepareCard.sh wlan0");执行 shell -
检查运行 php 脚本的用户是否有权限运行这些命令,我猜这些需要以 root 权限运行。
-
@prasad 我也检查过了,两个文件都在同一个目录中,我正在运行 KALI linux,它使用 root 用户作为默认用户
-
你检查
prepareCard.sh文件chmod +x prepareCard.sh的文件权限吗 -
您是在命令行还是通过 Web 服务器执行 php 脚本? Web 服务器以特殊用户(通常是
www-data:www-data)的身份执行脚本,默认情况下通常没有最高权限。