Terminal: no requiere contraseña para que se ejecute el script de shell

Estoy ejecutando Yosemite 10.10.5 y tengo un script de shell que quiero usar para alternar si mis conexiones wifi se ejecutan a través de tor o no. Esto usa networksetupun par de veces y, por lo tanto, solicita mi contraseña cada vez que lo ejecuto o cancelo.

¿Hay alguna manera de hacer que se ejecute un script de shell sin solicitar mi contraseña cada vez?

¡Gracias!

Puede editar el sudoersarchivo para darle acceso a su usuario networksetupsin necesidad de una contraseña. ¿ networksetupEl único comando que requiere sudo?
sí. ¿Te importaría elaborar sobre qué y cómo editar?
Primero necesito ponerme frente a una Mac para asegurarme de hacerlo bien, estad atentos :-)

Respuestas (1)

Puede agregar una regla al /etc/sudoersarchivo para otorgar a su usuario derechos de acceso networksetupsin contraseña.

  1. Tenga en cuenta el nombre de usuario de la cuenta de usuario a la que se debe permitir ejecutar el comando (puede obtener el nombre de usuario ejecutándolo whoamien la Terminal)
  2. Iniciar sesión como usuario administrador
  3. terminal abierta
  4. VISUAL=nano sudo visudo- abre el archivo sudoers en una especie de editor amigable
  5. Saltar al fondo
  6. Agregar

    USERID-FROM-STEP1 ALL = NOPASSWD: /usr/sbin/networksetup
    

    seguido de una línea vacía (!)

  7. Guardar y Salir

Ahora debería poder ejecutar networksetupcomo el usuario del paso 1 sin una solicitud de contraseña simplemente ingresando sudo networksetup.

¿Qué pasa si el usuario soy solo yo? ¿sería entonces el nombre de mi directorio de inicio?
@river_jones Para obtener su ID de usuario adecuado, simplemente ingrese whoamien la Terminal. Por lo general (pero no necesariamente, ya que es posible que haya cambiado el nombre de su carpeta de usuario o su usuario anteriormente) es el mismo nombre que su carpeta de inicio en / Usuarios.
En una nota no relacionada, solo tenía curiosidad y lo reemplacé nanocon subl(uso sublime para el desarrollo) y esto simplemente abrió un nuevo archivo en blanco (como touch). ¿Por qué nanoabre el /etc/subdoers.tmp` "correcto" pero sublno lo hace?
Por cierto, no me di cuenta de que, como administrador, solo podía agregar sudoa mis networksetupllamadas y es suficiente para suprimir la confirmación de la contraseña. Pero esto es útil para permitir lo mismo para los que no son administradores. ¡Gracias por tu tiempo y ayuda!