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]這類問題的更適合的網站。 –