suid dans un programme

suid dans un programme - C++ - Programmation

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.
Reply

Marsh Posté le 27-02-2003 à 14:26:07   

Reply

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.

Reply

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


---------------
Il n'est pas nécéssaire de réussir pour persévérer.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed