iwconfig не сообщает о качестве связи, если не запускается как sudo

Я использую Ubuntu 13.10 на Macbook Pro Retina, выпущенном в конце 2013 года (загружается через Refind ).

Моя проблема в том, что при запуске 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.

Не как 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.

Это нормально, и есть ли что-то, что я могу сделать, чтобы это работало без прав суперпользователя?

Моя причина в том, что Ожидается, что Vicious Wifi Widget для Awesome Window Manager сможет запросить iwconfig эту информацию не как root: http://git.sysphere.org/vicious/tree/widgets/wifi.lua

Большое спасибо.

4
задан 30 January 2014 в 07:17

2 ответа

Команда iwconfig представляет собой команды системного администрирования (обычно только для root). См. man iwconfig . Это задокументировано в разделе 8 руководств. Чтобы узнать больше о manpages см. этот пост .

Если вы попробуете в терминале,

$ type iwconfig 
iwconfig is hashed (/sbin/iwconfig)

и /sbin содержат привилегированные исполняемые файлы. Это причина, по которой вы не можете использовать все его возможности при использовании в качестве пользователя без полномочий root. Там нет ничего ненормального.

Как использовать sudo iwconfig без пароля [ source ]

Вы можете использовать директиву NOPASSWD в вашем /etc/sudoers файл.

Если ваш пользователь называется user, а ваш хост - host, вы можете добавить эти строки в /etc/sudoers:

user host = (root) NOPASSWD: /sbin/iwconfig

Это позволит пользователю user выполнить команду sudo iwconfig на host без ввода пароля. Для всех остальных команд sudo ed по-прежнему требуется пароль.

Рекомендуется использовать sudo visudo для редактирования файла. Прочтите этот хороший пост , прежде чем продолжить. Там вы также можете найти альтернативу, если вы не хотите изменять свой /etc/sudoers


Другой плохой способ [не рекомендуется] - попросить sudo прочитать ваш пароль из файла, где ваш пароль уже хранится. Но это могут быть серьезные проблемы безопасности . Переключатель -S позволяет sudo считывать пароль со стандартного ввода.

Если вы храните свой пароль в файле mypsd.txt, который содержит только ваш пароль, за которым следует символ новой строки. Затем следующая команда запустит чтение вашего пароля из этого файла:

cat /path/to/mypsd.txt | sudo -S iwconfig
0
ответ дан 30 January 2014 в 07:17
  • 1
    xdotool key space также doesn' t работа и любой метод I' ve, который попробовали для вставки пространства, перестал работать. – Faiz Saleem 18 July 2015 в 21:29

Еще одно простое решение

Права доступа к файлу по умолчанию для iwconfig в Xubuntu 13.10:

$ ls -l /sbin/iwconfig
-rwxr-xr-x 1 root root 26152 Feb  03  2014 /sbin/iwconfig

Следующие команды могут исправить это в других версиях Ubuntu:

$ sudo useradd -G sudo <your user name>
$ sudo chmod 755 /sbin/iwconfig

- С уважением.

0
ответ дан 30 January 2014 в 07:17

Другие вопросы по тегам:

Похожие вопросы: