doc*_*nge 5 command-line sudo wireless networking
我在 2013 年末的 Macbook Pro Retina(通过Refind启动)上运行 Ubuntu 13.10 。
我的问题是运行iwconfig不输出Link Quality或Signal Level除非以 sudo 运行。
me:~$ sudo iwconfig
eth0 IEEE 802.11abg ESSID:"redacted_essid"
Mode:Managed Frequency:2.447 GHz Access Point: RE:DA:CT:ED:XX:XX
Bit Rate=144 Mb/s Tx-Power=200 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=70/70 Signal level=-35 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
Run Code Online (Sandbox Code Playgroud)
不像sudo:
me:~$ iwconfig
eth0 IEEE 802.11abg ESSID:"redacted_essid"
Mode:Managed Frequency:2.447 GHz Access Point: RE:DA:CT:ED:XX:XX
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
lo no wireless extensions.
Run Code Online (Sandbox Code Playgroud)
这是正常的吗,我可以做些什么让它在没有超级用户权限的情况下工作?
我的原因是,Awesome Window Manager 的 Vicious Wifi Widget 希望能够以iwconfig非 root身份查询此信息:http : //git.sysphere.org/vicious/tree/widgets/wifi.lua
非常感谢。
该命令iwconfig是一个系统管理命令(通常只用于root)。见man iwconfig。它记录在联机帮助页的第 8 节中。要了解有关联机帮助页的更多信息,请参阅此帖子。
如果您在终端中尝试,
$ type iwconfig
iwconfig is hashed (/sbin/iwconfig)
Run Code Online (Sandbox Code Playgroud)
并/sbin包含特权可执行文件。这就是您在以非 root 用户身份使用时无法使用其全部功能的原因。没有什么异常。
如何在sudo iwconfig没有密码的情况下使用 [来源]
您可以NOPASSWD在/etc/sudoers文件中使用该指令。
如果您的用户被调用user并且您的主机被调用,host您可以将这些行添加到/etc/sudoers:
user host = (root) NOPASSWD: /sbin/iwconfig
Run Code Online (Sandbox Code Playgroud)
这将允许用户在不输入密码的情况下user运行命令。所有其他ed 命令仍然需要密码。sudo iwconfighostsudo
推荐使用sudo visudo来编辑文件。在继续之前阅读这篇不错的文章。如果您不想修改您的/etc/sudoers
另一种不好的方法 [不推荐]是要求sudo从已存储密码的文件中读取密码。但这可能是严重的安全问题。-S开关允许sudo从标准输入读取密码。
如果您将密码存储在mypsd.txt仅包含您的密码后跟一个换行符的文件中。然后以下命令将运行从该文件中读取您的密码,
cat /path/to/mypsd.txt | sudo -S iwconfig
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2139 次 |
| 最近记录: |