vérifier les droits d'administrateur dans le script python


15

Comment vérifier que mon script python s'exécute sous les droits d'administrateur (sudo) sous un système d'exploitation de type BSD? Besoin d'afficher un avertissement convivial pour qu'il soit exécuté sans droits d'administrateur.

Réponses:


37

Que dis-tu de ça? Vérifiez si uid == 0:

[kbrandt@kbrandt-admin: ~] python -c 'import os; print os.getuid()'
196677

[kbrandt@kbrandt-admin: ~] sudo python -c 'import os; print os.getuid()'
0

1
Je l'ai en fait raccourci :-). J'utilise également open pour l'authentification Linux, qui crée un grand UID en hachant le SID Windows.
Kyle Brandt

3

Et celui-là:

import os
username=os.system("whoami")
if username is not "root":
    print "You aren't root"
else:
    print "Hello, "+username

2

Ne soyez pas tenté de faire correspondre un nom d'utilisateur avec la chaîne "root".

En règle générale, vous devrez soit fournir des légendes moins efficaces pour obtenir la représentation textuelle de l'UID, soit vous compter sur des variables d'environnement qui peuvent ne pas être aussi fiables.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.