Bash, cómo hacer un script sólo ejecutable por root

From Wiki de Flat Estrategia Digital
Jump to: navigation, 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:
(...)

Facebook Comments