¿Cómo puedo pasar un alias a sudo?

¿Cómo puedo pasar un alias a sudo?

Intenté poner mis alias en ~/.bash_profile, ~/.bashrc, /etc/profiley /etc/bashrc.

Todavía no puedo ejecutar lo siguiente:

alias zf2="php public/index.php"

y luego ejecutar:

sudo zf2 orm:info

El problema parece ser que no puedo especificar un alias como comando usando visudo, lo que provoca un error de sintaxis.

Entonces no puedo llamar:

sudo zf2 orm:info

Sin embargo, pude crear un script en /usr/share/scripts/zf2 que contiene:

#!/bin/bash

alias zf2="php public/index.php"
zf2 $1

y agregue este script como comando en visudo. Cuando este script está en la RUTA del usuario final, puedo ejecutarlo.

zf2 orm:info

Tengo diferentes alias como zf2ese que necesito exponer al usuario final. Preferiría mantener un alias en lugar de una colección de scripts.

Respuesta1

Irónicamente, la solución es llamar sudodesde un alias.

alias sd="sudo "

Nota: Aunque no se recomienda, puedes nombrar el alias sudo:alias sudo="sudo "

Manual de referencia de Bash (Alias)

Si el último carácter del valor del alias está en blanco, también se verifica la expansión del alias en la siguiente palabra de comando que sigue al alias.

información relacionada