error: insufficient permissions for device 问题解决

http://alex-yang-xiansoftware-com.iteye.com/blog/1586667

在ubuntu上进行android开发是,将设备连接到电脑上,执行adb shell命令,会报出如下错误:

error: insufficient permissions for device

解决的办法:
root@android-ubuntu:platform-tools# adb kill-server
root@android-ubuntu:platform-tools# adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
root@android-ubuntu:platform-tools# exit
然后在命令行下执行adb shell就可以了。


经常卡住Current MAC: 00:1a:2b:ce:85:d1 (Ayecom Technology Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:1a:2b:61:6a:31 (Ayecom Technology Co., Ltd.) Current MAC: 00:1a:2b:61:6a:31 (Ayecom Technology Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:22:68:fc:82:c9 (Hon Hai Precision Ind. Co., Ltd.) Current MAC: 00:22:68:fc:82:c9 (Hon Hai Precision Ind. Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:22:68:78:f3:28 (Hon Hai Precision Ind. Co., Ltd.) Current MAC: 00:22:68:78:f3:28 (Hon Hai Precision Ind. Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:22:68:e0:89:01 (Hon Hai Precision Ind. Co., Ltd.) Current MAC: 00:22:68:e0:89:01 (Hon Hai Precision Ind. Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.)Current MAC: 00:22:68:e0:89:01 (Hon Hai Precision Ind. Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:1a:2b:40:73:11 (Ayecom Technology Co., Ltd.) Network driver didn't actually change to the new MAC!! New MAC: 00:14:bf:98:b8:6e (Cisco-Linksys LLC) Current MAC: 00:14:bf:98:b8:6e (Cisco-Linksys LLC) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:1a:2b:a7:54:6f (Ayecom Technology Co., Ltd.) ❌ MAC 地址更改失败: Command '['sudo', 'macchanger', '-m', '00:1A:2B:40:73:11', 'wlan0mon']' returned non-zero exit status 1. Current MAC: 00:1a:2b:a7:54:6f (Ayecom Technology Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:16:3e:f1:cd:42 (Xensource, Inc.) Current MAC: 00:1a:2b:a7:54:6f (Ayecom Technology Co., Ltd.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) New MAC: 00:1a:2b:0d:95:d8 (Ayecom Technology Co., Ltd.) Current MAC: 00:16:3e:f1:cd:42 (Xensource, Inc.) Permanent MAC: 7c:dd:90:23:33:28 (Shenzhen Ogemray Technology Co., Ltd.) ✅ MAC 地址更改成功: 00:1A:2B:61:6A:31 [ERROR] Could not change MAC: interface up or insufficient permissions: Device or resource busy ❌ MAC 地址更改失败: Command '['sudo', 'macchanger', '-m', '00:22:68:6F:ED:10', 'wlan0mon']' returned non-zero exit status 1. ✅ MAC 地址更改成功: 00:22:68:FC:82:C9 ✅ MAC 地址更改成功: 00:22:68:78:F3:28 ✅ MAC 地址更改成功: 00:22:68:E0:89:01 ✅ MAC 地址更改成功: 00:1A:2B:A7:54:6F ✅ MAC 地址更改成功: 00:16:3E:F1:CD:42 ✅ MAC 地址更改成功: 00:14:BF:98:B8:6E ✅ MAC 地址更改成功: 00:1A:2B:0D:95:D8
最新发布
03-26
<think>嗯,用户提供的日志显示他们在尝试更改MAC地址时遇到了多次失败和成功。首先,我需要解析这些日志,找出失败的原因。看到有“Command returned non-zero exit status 1”和“interface up or insufficient permissions”这样的错误信息,可能的原因有几个方面。 首先,权限问题。用户是否在命令前加了sudo?虽然日志中确实使用了sudo,但有时候权限配置可能有问题,比如sudoers文件里的设置。不过,因为部分命令成功了,可能权限不是主要问题。 接下来,设备忙或者接口未关闭。在更改MAC地址之前,需要确保网络接口处于关闭状态。如果接口处于活动状态(up),系统可能不允许修改MAC地址。用户可能在尝试更改时没有先执行ifconfig wlan0mon down,导致设备繁忙的错误。 另外,MAC地址的格式是否正确?虽然日志中的地址看起来格式正确,但要注意字母的大小写,有些工具可能对大小写敏感。例如,是否应该使用小写字母而非大写?不过macchanger通常比较灵活,可能不是主要问题。 还有可能是MAC地址被拒绝,比如有些网络接口驱动或硬件限制,不允许某些MAC地址。例如,虚拟机的MAC地址(如Xensource的00:16:3e开头)可能被某些网络拒绝,但用户成功更改了这些地址,所以可能不是主要原因。 查看错误信息中的具体失败案例,比如尝试设置00:1A:2B:40:73:11时失败,但后续的地址如00:22:68:FC:82:C9却成功了。可能这个特定地址被系统或驱动拒绝,或者存在冲突。 另外,用户多次更改MAC地址后,部分成功,部分失败,可能需要检查系统日志(如dmesg或journalctl)来查看更详细的错误信息,是否有驱动报错或硬件问题。 最后,建议用户分步骤操作:先关闭接口,再修改MAC地址,然后重新启用接口。确保每一步都正确执行,避免接口处于活动状态导致失败。同时,确认使用的macchanger版本是否兼容当前系统,或者尝试手动使用ifconfig或ip命令修改,看是否问题依旧存在。</think>### 问题分析及解决方案 从日志中可以看出您在使用 `macchanger` 修改无线网卡(`wlan0mon`)MAC地址时出现了多次失败和成功。以下是关键问题的解析和解决方案: --- #### **1. 失败原因分析** ##### (1) **接口未关闭导致失败** - 错误信息:`[ERROR] Could not change MAC: interface up or insufficient permissions: Device or resource busy` - **原因**:修改MAC地址前需先**关闭网络接口**,否则系统会因接口处于活动状态而拒绝操作。 - **解决方案**: ```bash sudo ip link set dev wlan0mon down # 关闭接口 sudo macchanger -m 新MAC地址 wlan0mon # 修改MAC地址 sudo ip link set dev wlan0mon up # 重新启用接口 ``` ##### (2) **权限不足** - 错误信息:`Command '['sudo', 'macchanger', ...]' returned non-zero exit status 1` - **原因**:即使使用 `sudo`,某些系统环境(如特定驱动或安全策略)可能导致权限不足。 - **解决方案**: ```bash sudo -i # 切换到root用户再执行命令 macchanger -m 新MAC地址 wlan0mon ``` ##### (3) **MAC地址格式问题** - **可能原因**:某些工具对MAC地址的格式敏感(如大小写、冒号分隔符)。 - **解决方案**: - 统一使用小写字母和标准冒号分隔,例如 `00:1a:2b:61:6a:31`。 --- #### **2. 成功案例的规律** 从日志中观察到: - **成功修改的MAC地址**: - 厂商前缀匹配(如 `00:22:68` 属于Hon Hai,`00:1a:2b` 属于Ayecom) - **失败案例**: - 错误提示指向接口状态或权限问题,而非地址格式。 --- #### **3. 推荐操作流程** 1. **关闭网络接口**: ```bash sudo ip link set dev wlan0mon down ``` 2. **修改MAC地址**: ```bash sudo macchanger -m 00:1a:2b:61:6a:31 wlan0mon # 示例地址 ``` 3. **验证并启用接口**: ```bash sudo ip link set dev wlan0mon up macchanger -s wlan0mon # 检查当前MAC地址 ``` --- #### **4. 其他注意事项** - **驱动兼容性**:部分无线网卡驱动(如 `ath9k`)可能限制MAC地址修改。 - **永久MAC与临时MAC**:`Permanent MAC` 是硬件地址,无法修改;`Current MAC` 是临时修改的地址,重启后可能恢复。 --- ### 总结 关键问题在于**接口未关闭**和**权限配置**。通过规范操作流程(先关闭接口→修改MAC→启用接口),可大幅提高成功率。若问题持续,建议检查网卡驱动兼容性或更换工具(如使用 `ip` 命令直接修改)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值