Question

Une partie de mon programme Python a besoin d'un accès administrateur. Comment puis-je obtenir les privilèges root en utilisant une interface graphique contextuelle similaire à la commande gksudo?

Je ne ai besoin des privilèges root pour une petite partie de mon programme il serait préférable d'avoir seulement les privilèges pour une fonction particulière.

J'espère pouvoir faire quelque chose comme:

gksudo(my_func, 'description of why password is needed')
Était-ce utile?

La solution

Vous avez deux options:

Vous aurez besoin de faire la partie du programme qui nécessite des privilèges root un fichier séparé et puis exécutez le fichier comme ceci:

>>> import subprocess
>>> subprocess.call(['gksudo','python that_file.py'])

qui apportera le mot de passe rapide et exécuter that_file.py en tant que root

Vous pouvez également exiger qu'un programme soit exécuté en tant que root depuis le début et juste le type d'utilisateur du programme « gksudo python your_program.py » dans la ligne de commande depuis le début qui est évidemment pas la meilleure idée si votre programme est normalement lancé à partir d'un menu.

Autres conseils

gksudo peut être utilisé pour lancer des programmes en cours d'exécution avec des privilèges d'administrateur. La partie de votre application qui a besoin pour fonctionner en tant que root, doit pouvoir être invoquée comme un processus distinct de la ligne de commande. Si vous avez besoin d'une forme de communication entre les deux, vous pouvez utiliser des prises ou montre pour un fichier, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top