sábado, 19 de abril de 2008

Reiniciar automaticamente un script como root

Si usas sudo puedes reiniciar automáticamente un script que se necesite ser ejecutado como root, añadiendo un check al inicio del script y ejecutando sudo si el script no esta ejecutándose como root:
  if [[ $UID -ne 0 ]]; then
sudo -p 'Restarting as root, password: ' bash $0 "$@"
exit $?
fi

La inclusión de bash en el comando sudo es para evitar problemas si es que el script no tiene su bit de ejecutar configurado. El código "exit $?" hace que el shell salga con el estatus del script de ejemplo que ejecuta sudo.

Código desarrollado por Mitch Frazier Administrador de Sistemas de Linux Journal.

No hay comentarios: