Bonjour forum,
Aujourd'hui j'ai fini mon premier programme en C qui fait autre chose qu'imprimer Hello World à l'écran. C'est une applet qui surveille le niveau des piles des souris Logitech (ouaaaaah).
Le problème 1 (résolu), c'est que l'applet se sert de lmctl, qui exige d'être root. J'ai donc implanté le suid bit.
Le problème 2 (j'utilise gai, un framework pour la création d'applets), c'est que maintenant il utilise le gconf du root (enfin il essaye), et ça merdouille au niveau du chargement. La solution potentielle, c'est charger en pas root, et faire un seteuid avant chaque execution de lmctl, mais c'est lourd (quoique toutes les 5 minutes...). Y a pas une autre solution d'après toi ?
# Dangereux
Posté par fork_bomb . Évalué à 2.
Tu devrais faire un programme SUID le plus simple possible (par exemple un programme qui lit les infos, puis qui les imprime sur le stdout). Ensuite utilise ce programme à partir de ton applet (qui n'est pas SUID).
[^] # Re: Dangereux
Posté par Adrien BUSTANY (site web personnel) . Évalué à 1.
# bravo...
Posté par TheBreton . Évalué à 3.
Pour la suite voila comment je verrait les choses.
Le plus propre pour la suite serait de mixer la partie qui t'interesse de lmctl avec le module usb-mouse du kernel linux pour lui faire generer dans le systeme de fichier /proc/... un fichier que tu pourrais lire depuis n'importe quel programme user sans avoir toute ces manip a faire pour avoir l'information.ce fichier contiendrai l'info de niveau des piles de ta souris.
[^] # Re: bravo...
Posté par Adrien BUSTANY (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.