/ proc / net / wireless não mostra valores a menos que seja executado como root

4

cat /proc/net/wireless não mostra estatísticas para dispositivos sem fio, a menos que seja executado como raiz, mesmo que as permissões no arquivo sejam 444. O mesmo parece se aplicar ao acessar estatísticas via iwlib . Existe uma maneira de cat este arquivo e ver os valores sem requerer que o comando seja executado como root?

    
por Sasha 23.03.2013 / 19:29

1 resposta

0

Eu me deparei com esse problema ontem e encontrei dois métodos:

1. Sudoers

Adicione uma regra que permita o acesso ao comando sem uma senha.

# visudo

Substituindo o nome de usuário:

...
username ALL=(ALL) NOPASSWD: /bin/cat /proc/net/wireless
...

Algumas desvantagens incluem a poluição do log de autenticação, especialmente se a verificação do sinal ocorrer a cada poucos segundos, bem como a necessidade de adicionar sudo a esses scripts.

2. Capacidades

Dê o binário CAP_NET_ADMIN

# setcap cap_net_admin+ep /bin/cat

+ para adicionar e - para remover

  • e: Eficaz - Isso significa que a capacidade é "ativada".
  • p: permitido - isso significa que o recurso pode ser usado / é permitido.
  • i: Herdado - O recurso é mantido por filho / subprocessos sob execve (), por exemplo.

Mais informações em man cap_from_text

Aviso de isenção: CAP_NET_ADMIN é uma forma de privilégio elevado. Permitindo danos a coisas como configuração de rede e firewalls. No meu caso eu só preciso disso para grep usado em um bloco i3. Eu não tenho certeza qual é o risco neste caso e gostaria de receber comentários.

    
por 05.03.2016 / 13:48

Tags