1 votos

Ejecutar alias con sudo en el inicio de sesión

He creado el siguiente alias y la puso en mi ~/.zshrc:

alias kiosk-proxy="echo \"rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080\" | sudo pfctl -ef -"

Se trata básicamente de un pf de la regla a la que redirige todo el tráfico entrante con el puerto de destino 80 a 127.0.0.1:8080 (pero lo que hace no es importante, es sólo para darle un poco de contexto)

En la actualidad, tengo que ejecutar manualmente esta en cada inicio de sesión, me gustaría automatizar.

Sería más sencillo si no necesitara sudo los derechos, yo acababa de poner kiosk-proxy en mi ~/.bash_profile, supongo.

Pero ya que las necesidades de sudo, que va a pedir la contraseña y dudo que va a símbolo del sistema. Así que... ¿Cómo puedo ejecutar este alias con sudo derechos sin pedir la contraseña? Asimismo, es preciso que sepan que hay alias existentes en ~/.zshrc, que no se han cargado todavía. Peor de los casos, puedo mover el alias a otro archivo.

1voto

klanomath Puntos 19587

La habilitación de pf (con la regla de rdr) con un comando/alias o una secuencia de comandos de shell/función en el bash/zsh perfil como en tu pregunta no es ni común ni a las buenas prácticas. Es posible, sin embargo:

Para deshabilitar un indicador de solicitud de contraseña modificar el archivo sudoers:

Abrir Terminal y escriba sudo visudo a modificar el archivo /etc/sudoers.

Cambiar la parte:

## User privilege specification
##
root ALL=(ALL) ALL
%admin  ALL=(ALL) ALL

a

## User privilege specification
##
root ALL=(ALL) ALL
%admin  ALL=(ALL) ALL
your_username ALL=(ALL) NOPASSWD: /sbin/pfctl

y guardar el archivo.

Si no sabes vi: después de entrar en sudo visudo tiene para cambiar al modo de inserción pulsando yo. Introduzca la línea adicional como se ha indicado anteriormente. Para salir del modo de inserción de golpe esc. A continuación, introduzca :wq y al Entrar la clave para escribir el archivo modificado en el disco y salir de vi.

bash:

Entrando kiosk-proxy no debería requerir una contraseña más. Usted puede entonces simplemente agregar kiosk-proxy como una línea separada en su bash_profile (después de la alias kiosk-proxy ...de la línea)

Después de salir de la shell, pf no ser desactivado y el pasado regla es todavía redirigir! Para deshabilitar la pf y de la regla de rdr al salir de la (bash shell, crear un archivo con touch ~/.bash_logout y el contenido de sudo pfctl -d.

zsh:

El mismo funciona con ~/.zprofile que contiene:

alias kiosk-proxy="echo \"rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080\" | sudo pfctl -ef -"

kiosk-proxy

y ~/.zlogout que contiene

sudo pfctl -d

Una más recomendable es simplemente agregar la regla de rdr en pf.conf y habilitar la pf durante el arranque.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X