¿Cómo evitar el acceso emergente de contraseña cada vez para cambiar la configuración de red en OS X Mountain Lion?

7

Tengo algunos scripts de red que utilicé en OS X Lion que crearon automáticamente una conexión ssh y luego cambiaron la configuración de red en mi máquina local para ejecutar el tráfico a través del túnel ssh. Cambié la configuración de red usando estos comandos de shell:

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

networksetup -setsocksfirewallproxystate "Wi-Fi" on

Ahora, bajo Mountain Lion, pide una contraseña para ambos cada vez que ejecuto el script, lo cual es muy molesto. ¿Hay alguna manera de que recuerde la contraseña, la omita o la ponga por primera vez y la recuerde?

SudoKill
fuente
Además, estoy buscando una solución "no pirateada". Por ejemplo, prefiero NO escribir un applecript para escribir la contraseña por mí.
SudoKill

Respuestas:

4

Asegúrese de que sus scripts tengan los permisos y el propietario correctos. Debería ser root: rueda como esta (wifi es el nombre del script):

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

Puede lograr esto escribiendo

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

Ahora puede sudo sus comandos en el script, es decir

sudo networksetup -setnetworkserviceenabled "Huawei Modem" on;

El Terminal / Buscador debe dejar de pedir la contraseña. Espero que esto ayude.

napa
fuente
1

No estoy seguro de si esta es la forma correcta de hacerlo desde un punto de vista de seguridad, pero funciona:

1) Copie la configuración de red en / usr / sbin / a otro archivo (de esta manera, todos los demás servicios que lo utilizan continuarán requiriendo la contraseña cuando se ejecuten):

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

2) Agregue esta línea en su archivo sudoers para omitir la contraseña cuando llame a NewNetConfig:

username   ALL=NOPASSWD: /usr/sbin/NewNetConfig

3) reiniciar. Luego use esto para cambiar la configuración de su red y no debería solicitar una contraseña:

sudo NewNetConfig -setsocksfirewallproxy "Wi-Fi" localhost ####
SudoKill
fuente
Solo para ser claro y minucioso, para realizar el paso 2, debe hacerlo$ sudo visudo
cfx
1

Tuve el mismo problema, en su lugar utilicé un servicio para cambiar el estado del proxy presionando una tecla de acceso directo.

Después de hacer frente a la configuración de red a NewNetConfig y editar / etc / sudoers, cree un nuevo servicio en Automator llamado "ChangeWiFiProxy". Agregue un script de Shell y agregue 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

Luego, asígnele un acceso directo como Cmd + Opción + ";" en "Preferencias del sistema> Teclado> Atajos de teclado> Servicios".

Arman
fuente