suid dans un programme - C++ - Programmation
Marsh Posté le 27-02-2003 à 14:46:47
Separe ton programme en 2. Le premier sera le drivers de ta carte qui tournera avec les droits, et le second sera ton interface graphique.
Cela reviens soit a :
- Ecrire un drivers userspace sous la forme d'un resident en memoire.
- Soit ecrire un vrai drivers a mettre dans le noyau.
Dans les 2 cas, il faudra definir une interface de communication pour que ton programme puisse utiliser ton driver.
Marsh Posté le 27-02-2003 à 14:58:44
J'ai pensé à cette possibilité-là,
mais je viens de lire un autre article :
http://www.tldp.org/HOWTO/mini/IO- [...] ing-2.html
sans parler des questions de sécurité,
cela semble une solution facile à mettre en oeuvre
Marsh Posté le 27-02-2003 à 14:26:07
Jai écrit un programme qui fait des outputs via une carte d'I/O.
Cette carte ne possède pas de drivers, je fais donc des inb, outb.
mais pour cela j'ai besoin des droits superutilisateur.
Aucun problème, il suffit de faire un :
chmod a+s monExecutable
Ainsi n'importe qui peut exécuter ce programme.
Maintenant j'ai une interface graphique, mais ce système ne fonctionne plus.
Voici l'erreur que j'obtiens :
The KDE libraries are not designed to run with suid privileges.
Donc voici ma question :
est-il possible dans le programme même, de donner les droits superutilisateur ?
Ou y a-t-il un autre moyen.
J'imagine que oui, puisque les drivers peuvent être utilisés par n'importe qui.
---------------
Il n'est pas nécéssaire de réussir pour persévérer.