5
A
回答
4
如果你看一看的iwconfig
(wireless_tools)的源代码,你会看到这样一行:
iwconfig.c:639: if(iw_get_ext(skfd, ifname, SIOCGIWESSID, &wrq) < 0)
这条线负责ESSID的get(wireless.h)。我认为只有root权限(开箱即可)才能执行此操作,因此调用ioctl
的函数iw_get_ext
(在iwlib.h
包中定义)将返回EPERM
(Operation not permitted
)。
/*------------------------------------------------------------------*/
/*
* Wrapper to extract some Wireless Parameter out of the driver
*/
static inline int
iw_get_ext(int skfd, /* Socket to the kernel */
const char * ifname, /* Device name */
int request, /* WE ID */
struct iwreq * pwrq) /* Fixed part of the request */
{
/* Set device name */
strncpy(pwrq->ifr_name, ifname, IFNAMSIZ);
/* Do the request */
return(ioctl(skfd, request, pwrq));
}
你有2个解决方案:
使用
setuid
,以允许用户使用iwconfig
命令:sudo chmod u+s /sbin/iwconfig
您也可以尝试做一些黑客
CAP_NET_ADMIN
功能,它允许特定用户使用某些特定功能。这里是一些关于CAP_NET_ADMIN
链接:
http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/
http://www.lids.org/lids-howto/node48.html
http://lwn.net/Articles/430462/
最后,你可以使用strace
跟踪所有系统调用和确认ioctl
呼叫那里sponsible此:
为root
做到这一点:
#strace /sbin/iwconfig your_interface_name > strace_iwconfig_root.log
与同为普通用户:
$strace /sbin/iwconfig your_interface_name > strace_iwconfig_normal.log
,并比较结果。
相关问题
- 1. 如何在没有root权限的情况下在linux上安装软件
- 2. 如何在没有root权限的情况下安装perlbrew?
- 3. 如何在没有root权限的情况下安装OpenCv 3.1.0?
- 4. 如何在没有root权限的Linux下获得CPU序列号
- 5. 在没有root权限的情况下安装subversion
- 6. 在没有root权限的情况下安装Zend Framework 2?
- 7. 在没有root权限的情况下安装Tkinter
- 8. 在没有root权限的情况下管理git仓库
- 9. 在没有root权限的情况下安装qlfw3
- 10. 在没有root权限的情况下安装nltk
- 11. Linux可以在没有Root权限的情况下在CPL3(用户模式)下崩溃或挂起的情况?
- 12. 没有root权限的情况下升级pip
- 13. 如何在没有root权限的情况下在unix中安装gdb
- 14. 如何在没有root权限的情况下访问写入的文件?
- 15. 如何在没有root权限的情况下共享android屏幕?
- 16. Android - 如何在没有root权限的情况下从/ data/data/*读取文件?
- 17. 如何在没有SuperSU的情况下授予root访问权限
- 18. 如何在没有root权限的情况下部署Pinax访问Apache?
- 19. Struts2如何在没有线程的情况下获得性能?
- 20. 我可以在不离开vim的情况下获得root权限吗?
- 21. linux用户如何在没有root权限的情况下更改他们的密码?
- 22. 如何在linux上没有管理权限的情况下安装lxml for python?
- 23. 在没有root权限的情况下在Python中Ping服务器
- 24. 在没有root权限的情况下在JInput中使用键盘
- 25. 在没有Root权限的情况下添加新的颜色方案
- 26. 如何在没有sudo权限的情况下访问硬盘?
- 27. 获得iOS的root权限
- 28. 是否可以在没有root权限的情况下安装chef-solo
- 29. 我可以在没有root权限的情况下使用hadoop cloudera吗?
- 30. 是否可以在没有root权限的情况下安装kakasi?
如果以普通用户身份运行它会发生什么?你使用什么Linux发行版?此外,您可能会发现[unix.se]这类问题的更适合的网站。 –