(ES)(Bash) Detectar si un script se está ejecutando como root
Hay veces que para que un script funcione correctamente, es necesario que se ejecute con privilegios de administrador, o root. Para detectar si el usuario está ejecutando tu script de este modo, puedes hacer la siguiente comprobación:
user=$(whoami)
if [ "$user" == "root" ]; then
esroot=true
echo "Eres Root! :)"
else
esroot=false
echo "No eres root... :'("
exit
fi
Espero que os sea de utilidad :D
Comments
SeG: Genial, un must have en todos mis script a partir de ahora. Ahorra la aparición de muchos errores a causa de privilegios limitados.
admin: Hola Seg, gracias por tu comentario, pero no veo buena idea eso de añadirlo a todos los script. Ejecutar algo con privilegios de administrador cuando no son estrictamente necesarios puede dar lugar a brechas importantes de seguridad
Yair: Genial muchas gracias me fui muy útil para mi instalador de paquetes por materias gracias :D
René: Muchas Gracias Admin. justo lo que estuve buscando, porque por descuido ejecute un script que necesitaba permisos de root como user común y me trajo algunos inconvenientes, que si bien los solucioné, me entró la inquietud de como hacer que el scrip no se ejecute si no tenia permisos de root.. para evitar futuras complicaciones y así encontre tu codigo que era justo lo que estaba buscando.. Muy buen aporte.. Gracias y saludos.
Article automatically imported from my old wordpress blog. Here only for reference. Possible format errors and probable missing images. Sorry about that.