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

Linux Discussion :

[c++ Unix] Diverses questions


Sujet :

Linux

  1. #21
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Salut et merci.

    Je viens d'essayer 2 faire / adapter 2 codes ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
      cap_t caps;
      cap_value_t cap_list[1];
      caps = cap_get_proc();
      if (caps == NULL)
        {
          std::cout << "error1" << std::endl;
          return ;
        }
      cap_list[0] = CAP_SYS_BOOT;
      if (cap_set_flag(caps, CAP_EFFECTIVE, 1, cap_list, CAP_SET) == -1)
        {
          std::cout << "error2" << std::endl;
          return ;
        }
      if (cap_set_proc(caps) == -1)
        {
          std::cout << "error3" << std::endl;
          return ;
        }
      if (cap_free(caps) == -1)
        {
          std::cout << "error4" << std::endl;
          return ;
        }
    => l'exécution du prog m'affiche "Error3"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    cap_t cur;
        int uid = getuid();
        if (prctl(PR_SET_KEEPCAPS, 1))
        {
        std::cout << "Error1" << std::endl;
        return ;
        }
        if (setresuid(uid, uid, uid))
        {
        std::cout << "Error2" << std::endl;
        return ;
        }
        cur = cap_from_text("cap_sys_boot=eip");
        if (cur == NULL)
        {
        std::cout << "Error3" << std::endl;
        return ;
        }
        if (cap_set_proc(cur) == -1)
        {
        std::cout << "Error4" << std::endl;
        cap_free(cur);
        return ;
        }
        cap_free(cur);
    => Celui-ci "Error4"

    Dans tout les cas le cap_set_proc ne passe pas !

    Cordialement,
    NeoKript

  2. #22
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    voir l'exemple du programme ping : http://www.ibm.com/developerworks/li...-posixcap.html.
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Inno setup/IsTool]Diverses questions
    Par marsup54 dans le forum Installation, Déploiement et Sécurité
    Réponses: 14
    Dernier message: 18/07/2006, 10h11
  2. [HTML] Diverses questions sur le HTML
    Par Ekin0X dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 29/06/2006, 10h46
  3. Réponses: 18
    Dernier message: 04/04/2006, 14h31
  4. C++ diverses questions concernant directX
    Par TERRIBLE dans le forum DirectX
    Réponses: 5
    Dernier message: 05/10/2005, 23h09
  5. Diverse question ...
    Par Dims dans le forum Développement
    Réponses: 11
    Dernier message: 13/01/2004, 15h29

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