Configurando o wireshark para usuários não root

6

Estou configurando o wireshark para ser executado como usuário não raiz, a aqui , ou seja:

sudo apt-get install wireshark
sudo dpkg-reconfigure wireshark-common 
sudo usermod -a -G wireshark $USER
(restart)

Tudo isso é ótimo. Mas quando tento iniciar o wireshark como o usuário wireshark, usando:

sudo -s -u $USER wireshark

Eu recebo o seguinte erro:

no protocol specified
gtk-warning ** cannot open display

A parte "sem protocolo especificado" parece bastante direta. E a tela de aviso do gtk não pode ser exibida parece se relacionar exatamente com essa edição .

  

"Você tem duas maneiras de fazer isso funcionar: conceda ou use root.   Você (greg) pode concedê-lo por meio de 'xhost local: root'. Ou root pode levá-lo, porque ele pode acessar seus arquivos:   'export AUTHORITY = / home / greg / .Xauthority'. "

Isso não faz sentido para mim. Qual foi o objetivo de conceder acesso ao outro usuário se ele não puder abrir o programa? Essa separação é feita por razões de segurança, por isso não está fazendo a modificação acima revertendo o comentário anterior

  

"Isso tem a ver com o controle de acesso ao seu servidor X. Você não quer que ninguém abra janelas na sua tela. Então, se você iniciou o servidor X com sua própria conta (greg), então qualquer outro usuário (como root) não tem acesso a ele. "

TLDR; Esta prática padrão e a maneira como isso deve ser feito para obter a separação entre a conta raiz e outra conta de usuário? Parece um "hack" para mim.

    
por user125290 23.01.2013 / 00:03

1 resposta

6

$USER está aqui para ver como uma variável de shell. O terceiro comando acima adiciona seu usuário ao wireshark group e deve ser substituído por sudo adduser <yourUser> wireshark .
Agora você deve ser capaz de invocar wireshark como você mesmo (não é necessário mais sudo).

    
por user1721265 28.01.2013 / 21:55