IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

interaction prog C et commandes shell/system


Sujet :

Administration système

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Par défaut interaction prog C et commandes shell/system
    Bonjour,

    Sur une Debian Etch, j'ai un programme C, myprog, qui a (entre autre) deux fonctions:
    A: lancer des applications en tant qu'un utilisateur lambda
    B: effectuer des operations avec les privileges root

    Pour cela, je lui ai ajoute le bit SUID (chmod +s), et aussi chown root.someuser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $ ls -l myprog
    -rwsr-sr-x 1 root someuser myprog
    La fonction A se passe bien. Pour la fonction B, je peux obtenir les privileges root, mais si l'operation que je veux effectuer contient des fichiers perl, alors j'ai des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Insecure dependency in ... while running setuid
    et le programme s'arrete.

    L'operation que je souhaite utiliser est (entre autres) "adduser" qui est donc un script perl. J'ai vu sur le web que c'etait du au mode Taint de Perl, et qu'il etait possible de "untaint" les variables. Mais je ne veux pas modifier un script comme adduser, par principe et aussi par ce que ca me semble plutot risque au niveau securite (et en plus j'ai pas de connaissances perl).

    Voici donc ma question: est-ce qu'il y a une autre approche qui me permettrait d'avoir les fonctions A et B pour mon programme en contournant le probleme des scripts perl ?

    Aussi, parce que ca me semble plus simple, mon approche est souvent d'executer des commandes shell depuis le prog C. J'imagine que l'ideal serait de pouvoir tout faire depuis le prog C, mais j'ai vraiment l'impression de reinventer la roue et de perdre mon temps quand j'ajoute 40 lignes de code C pour faire l'equivalent de 3 lignes de script shell. Ca m'interesserai d'avoir des points de vue ou des liens permettant d'y voir un peu plus clair et eventuellement de trouver la marche a suivre...

    Toute piste ou idee est vraiment la bienvenue.

    Merci !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    pour effectuer des operation "root" ou sous tout autre utilisateur il y a l'utilitaire sudo qui te permet de réaliser cela de maniere precise et securisé. Effectivement j ai l'impression que tu réinvente la roue.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Par défaut
    effectivement, je ne savais que sudo permettait de faire autant de choses. J'ai encore quelques tests a faire pour etre sur, mais il semble que je peux tout faire avec sudo, sans executer mon programme en SUID. Et c'est quand meme un gros avantage car etant donne les risques de securite que ca implique, beaucoup de programmes sont restreints lorsqu'ils sont executes SUID.

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 18/06/2009, 15h10
  2. [Debutant] Commande shell
    Par drosophile dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/04/2005, 15h06
  3. commande shell dans un programme
    Par diefo dans le forum C
    Réponses: 3
    Dernier message: 15/08/2003, 13h37
  4. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12
  5. [Kylix] commandes c++ systeme
    Par xri dans le forum EDI
    Réponses: 1
    Dernier message: 18/03/2003, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo