Como evitar que o popup de senha toda vez mude a configuração da rede no OS X Mountain Lion?

7

Eu tenho alguns scripts de rede que usei no OS X Lion que criaram automaticamente uma conexão ssh e, em seguida, alterei a configuração de rede em minha máquina local para executar o tráfego através do túnel ssh. Eu mudei a configuração de rede usando estes comandos shell:

networksetup -setsocksfirewallproxy "Wi-Fi" localhost ####

networksetup -setsocksfirewallproxystate "Wi-Fi" on

Agora, no Mountain Lion, ele pede uma senha para ambas as vezes que eu executo o script, o que é muito chato. Existe uma maneira de lembrá-lo da senha ou ignorá-la ou apenas colocá-la na primeira vez e lembrá-la?

    
por SudoKill 28.07.2012 / 01:07

4 respostas

1

não tenho certeza se esse é o jeito certo de fazer isso do ponto de vista de segurança, mas funciona:

1) Copie o networksetup em / usr / sbin / para outro arquivo (assim, todos os outros serviços que o utilizam continuarão a exigir a senha quando executados):

sudo cp /usr/sbin/networksetup /usr/sbin/NewNetConfig

2) Adicione esta linha em seu arquivo sudoers para pular a senha ao chamar NewNetConfig:

username   ALL=NOPASSWD: /usr/sbin/NewNetConfig

3) Reinicie. Em seguida, use isso para alterar sua configuração de rede e não deve pedir uma senha:

sudo NewNetConfig -setsocksfirewallproxy "Wi-Fi" localhost ####
    
por 28.07.2012 / 07:13
4

Certifique-se de que seus scripts tenham as permissões e o proprietário corretos. Deve ser root: roda assim (wifi é o nome do script):

lion:~/Downloads napcae$ ls /usr/local/bin/
-rwxr-xr-x  1 root      wheel       739 25 Nov 18:35 wifi

Você pode conseguir isso digitando

lion:~/Downloads napcae$ sudo chown root:wheel wifi

Agora você pode sudo seus comandos no script, por exemplo

sudo networksetup -setnetworkserviceenabled "Huawei Modem" on;

O Terminal / Finder deve parar de perguntar pela senha. Espero que isso ajude.

    
por 26.11.2012 / 00:32
1

Eu tive o mesmo problema, em vez disso usei um serviço para alternar o estado do proxy pressionando uma tecla de atalho.

Depois de ter feito o confronto de configuração de rede para o NewNetConfig e edição de / etc / sudoers, Crie um novo serviço no Automator chamado "ChangeWiFiProxy". Adicione um Script da Shell e adicione este script:

STATUS='NewNetConfig -getsocksfirewallproxy Wi-Fi | grep -c 'Enabled: Y''
if   [ "$STATUS" == "0" ] ; then
    sudo NewNetConfig -setsocksfirewallproxystate Wi-Fi on
say on
else
    sudo NewNetConfig -setsocksfirewallproxystate Wi-Fi off
    say off
fi

Em seguida, atribua um atalho como Cmd + Option + ";" em "Prefences de sistema > Teclado & atalhos de atalho de teclado > Serviços".

    
por 04.08.2012 / 19:05
0

Você pode definir a permissão suid para /usr/sbin/networksetup e, em seguida, o networksetup será executado com permissão de root, para que você não precise mais digitar a senha.

sudo chmod u+s /usr/sbin/networksetup

Sobre o suid: link

    
por 29.01.2013 / 14:04