Bonjour,
Existe-t'il une commande permettant, dans un script, de savoir si celui-ci a été lancé avec l'utilisateur root ou non?
Merci beaucoup
Bonjour,
Existe-t'il une commande permettant, dans un script, de savoir si celui-ci a été lancé avec l'utilisateur root ou non?
Merci beaucoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part [[ ps-ef | grep $0 | awk '{print $1}' = "root" ]] && echo "processus root"
La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
Donald E. Knuth
merci beaucoup
Ca ne marche pas chez moi, j'enquête
Le problème est que si plusieurs instances du programme sont lancées en même temps, ca bugge...
Pour ceux que ça intéresse, j'ai utilisé une autre solution en deux parties:
J'ai d'abord créé un fichier exécutable dont le code C est le suivant:
Je l'ai compilé, et ajouté dans /usr/bin (le nom que j'ai donné est isroot)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <sys/types.h> #include <unistd.h> main(){ if (getuid() == 0) return 0; return 1; }
Ensuite, voici la fonction que j'ai ajouté dans mon script shell:
C'est peut être un peu lourd, mais ça marche bien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 isRootUser(){ isroot [ $? -eq 1 ] && echo "You must be root to launch this daemon" && exit 1 }
Quelque chose du genre :ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if [ $UID -eq 0 ]...
Code : Sélectionner tout - Visualiser dans une fenêtre à part [ "$USER" == "root" ] && echo "admin" || echo "perdu"
« Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !
Oui, c'est vrai que c'est beaucoup plus simple, merci ALT
Boarf !
De rien !
« Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager