Scripts et Programmation

BASH : Tester si un script est lancé en root

Table des matières

Introduction



Dans ce court article, nous allons voir comment tester, dans un script BASH si celui ci est utilisé en tant que root.
Ici, la vérification est fonctionnelle si :
- Le script est lancé en tant que root directement.
- Le script est lancé avec la commande su -lc 'lescript.sh'
- Le script est lancé avec la commande sudo lescript.sh

Nous n'utiliserons pas la variable $EUID

Informations



Nous allons utiliser la variable $EUID qui contient le UserID effectif.
La caractéristique de root est que son ID est de 0

A partir de là, il ne reste qu'un simple test à faire, et si cette valeur n'est pas 0, on peut quitter le script avec un code erreur (ici de 1) avec

Code BASH :
exit 1


Le bout de code



Code BASH :
if [[ "$EUID" != "0" ]]
then
   echo "Ce script doit être lancé en tant que root" 
   exit 1
fi

Cette page a été vue 5339 fois