Droits des fichiers et c

Fermé
legapounet - 29 mai 2005 à 20:02
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 - 31 mai 2005 à 22:28
Bonjour à tous,

J'ai un petit travail de programmation mais je ne suis pas sûr que ce que l'on me demande est possible...

Je travaille sous linux et je dois réaliser un programme c permettant de modifier les droits d'un fichier et son propriétaire.

Pour l'instant c'est pas trop difficile avec fchmod et fchown...

Là où ça se complique c'est que ce programme doit pouvoir être lancé par des utilisateurs non root et non propriétaires des fichiers à modifier...

Il semble que chmod u+s mon_prog permet à un utilisateur ordinaire d'exécuter mon_prog avec les droits du propriétaire de mon_prog (donc les droits de root s'il en est le propriétaire).
Pourtant, mes premiers tests n'ont pas été concluant...

Cette solution est elle mauvaise ? le travail est il réalisable ??

Merci d'avance pour votre aide...

legapounet
A voir également:

4 réponses

Une suggestion, ce n'est pas de la programmation :
ton programme est propriétaire de root, là tu fais un "chmod +s" sous root ("chmod o+s").
tout le monde peut l'exécuter avec les droits root, donc si ton programme sait faire un chmod ou un chown, tout le monde peut le faire.
Là, tu crées une énorme faille de sécurité sur ton système.
Car un système normalement configuré ne permet pas ce genre de choses.
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
30 mai 2005 à 02:05
pour plus de conseils je te suggere d'expliquer mieux ce que tu voudrais faire et soumettre ton probleme dans le forum LINUX/UNIX
sur ce, @*
0
Pitêt si tu fait un setuid() avant ta section critique, non ?
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
31 mai 2005 à 22:28
salut, tu ne peux pas changer les droits d'un fichier qui ne t'appartient sauf si t'as le droit d'ecriture dessus. Donc, le fait que cela marche, dependra de celui qui le lance. Si c'est le root qui le lance, il pourra tout faire, si c'est un utilisateur normal, il ne pourra le faire que pour ses propres fichiers et les fichiers des autres ou il a droit d'ecriture. Maintenant, il ya des options qui permettent de jouer avec les droits du programme (ie celui qui le lance aura les droits du proprio du prog)

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0