Bash, cómo hacer un script sólo ejecutable por root
Jump to navigation
Jump to search
Para hacer que un script sólo sea ejecutable por root (o en su defecto usando sudo) se puede agregar lo siguiente al principio del archivo:
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
echo "Run this script as root (or using sudo)."
exit 1
fi
El mismo código explicado con detalle:
# Solamente se puede ejecutar el archivo si es por root o usando sudo
#
# $(id -u) # Obtiene el id del usuario actual
# Si el usuario actual tiene como id 0 significa que es root
# Si el id del usuario actual NO es 0 entonces...
if [ "$(id -u)" != "0" ]; then
# Muestra un mensaje en consola al usuario actual cuando no es root
echo "Ejecuta este script como root (o usando sudo)."
# Termina el script con un código 1
# Normalmente en bash cuando un programa retorna algo diferente a 0
# significa que generó un error
exit 1
# Fin del if
fi
# Aquí va todo el código que solo se puede ejecutar como root o con sudo:
(...)