O iwconfig não reporta a qualidade do link a menos que seja executado como sudo

4

Estou executando o Ubuntu 13.10 em um Macbook Pro Retina no final de 2013 (inicializado por Refind ).

Meu problema é que a execução iwconfig não gera Link Quality ou Signal Level , a menos que seja executado como 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.

Não como 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.

Isso é normal, e há algo que eu possa fazer para que funcione sem permissões de superusuário?

Meu motivo é que o Widget Wifi Perigoso para o Awesome Window Manager espera poder consultar iwconfig para essa informação, não como root: link

Muito obrigado.

    
por doctororange 22.01.2014 / 05:59

2 respostas

5

O comando iwconfig é um comando de administração do sistema (geralmente apenas para raiz). Veja man iwconfig . Está documentado na seção 8 de manpages. Para saber mais sobre manpages veja este post .

Se você tentar no terminal,

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

e /sbin contém executáveis privilegiados. Esta é a razão pela qual você não é capaz de ter todos os seus recursos ao usar como usuário não root. Não há nada anormal.

Como usar sudo iwconfig sem senha [ fonte ]

Você pode usar a diretiva NOPASSWD no seu arquivo /etc/sudoers .

Se seu usuário for chamado de user e seu host for chamado de host , você poderá adicionar essas linhas a /etc/sudoers :

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

Isso permitirá que o usuário user execute o comando sudo iwconfig on host sem digitar uma senha. Todos os outros comandos sudo ed ainda exigirão uma senha.

Recomenda-se usar sudo visudo para editar o arquivo. Leia este post legal antes de prosseguir. Lá você pode encontrar uma alternativa também se não desejar modificar seu /etc/sudoers

A outra maneira ruim [não recomendada] é pedir ao sudo para ler sua senha em um arquivo onde sua senha já está armazenada. Mas isso pode ser graves preocupações de segurança . A chave -S permite que sudo leia uma senha da entrada padrão.

Se você armazenar sua senha em um arquivo mypsd.txt que contenha apenas sua senha seguida por um novo caractere de linha. Em seguida, o seguinte comando será executado lendo sua senha desse arquivo,

cat /path/to/mypsd.txt | sudo -S iwconfig
    
por souravc 30.01.2014 / 05:19
0

Ainda outra solução simples

As permissões de arquivo padrão do iwconfig no Xubuntu 13.10 são:

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

Os comandos a seguir podem corrigi-lo em outras versões do Ubuntu:

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

- Atenciosamente.

    
por suqed 01.02.2014 / 21:45