J'ai une application d'interface utilisateur (utilise GTK) pour Linux qui doit être exécutée en tant que root (elle lit et écrit/dev/sd *). Au lieu de demander à l'utilisateur d'ouvrir un shell racine ou d'utiliser manuellement "sudo" chaque fois qu'il lance mon application, je me demande si l'application peut utiliser une API fournie par le système d'exploitation pour obtenir les permissions root. (Remarque: l'application gtk ne peut pas utiliser le mode "setuid", donc ce n'est pas une option ici.)Authentification de l'application GTK pour exécuter des autorisations root
L'avantage ici serait un workflow plus simple: l'utilisateur pourrait, à partir de son compte utilisateur par défaut, double-cliquer sur mon application depuis le bureau au lieu d'avoir à ouvrir un terminal racine et le lancer à partir de là. Je demande cela parce que OS X offre exactement ceci: Une application peut demander au système d'exploitation de lancer un exécutable avec des permissions root - le système d'exploitation (et non l'application) demande alors à l'utilisateur d'entrer ses informations d'identification, les vérifie puis les lance la cible comme désiré.
Je me demande s'il y a quelque chose de similaire pour Linux (Ubuntu, par exemple)
Précision:
Ainsi, après l'allusion à PolicyKit Je me demande si je peux l'utiliser pour obtenir r/w l'accès aux périphériques de bloc "/ dev/sd ...". Je trouve la documentation assez difficile à comprendre, alors j'ai d'abord demandé si cela était possible avant de passer des heures à essayer de le comprendre en vain.
Mise à jour:
L'application est un outil de réparation de disque à commande à distance pour l'utilisateur unsavvy Linux, et les noobs Linux n'aura pas beaucoup de compréhension de l'utilisation sudo ou même de changer les appartenances de groupe de leur utilisateur, surtout si leur disque commence à agir et qu'ils paniquent. C'est pourquoi je cherche une solution qui évite les détails techniques comme celui-ci.
Il est certainement possible de configurer les choses comme ça - par exemple, le gestionnaire de paquets Synaptic est généralement configuré de cette façon. – caf
Je ne suis pas sûr que vous devriez vraiment courir en tant que root. Si vous avez seulement besoin d'accéder au disque, il est préférable d'ajouter l'utilisateur au groupe "disque". –
Milan - Mon application agit comme un outil de réparation de disque unique. Je ne pense pas que quiconque veut l'utiliser est prêt à changer ses paramètres à l'échelle du système pour cela, de façon quasi permanente. –