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

Solaris Discussion :

[SOLARIS] setuid


Sujet :

Solaris

  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    15
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par d�faut [SOLARIS] setuid
    Bonjour,
    Voici mon probl�me :

    J�ai un binaire agentctl qui appartient � root :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    # ls -l agentctl
    -rwxr-xr-x    1 root     root        12532 Jun  5 19:09 agentctl
    Cet ex�cutable peut �tre lanc� avec plusieurs options ( start, stop, restart �etc )

    Je veux permettrre � un user lambda le lancement de � agentctl � mais uniquement avec l�option restart.

    Pour cela je cr�e le programme suivant :
    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
    # cat testagent.c
    ==================================
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <unistd.h>
     
    int main()
    {
    uid_t uid = geteuid ();
    gid_t gid = getegid ();
    printf ("uid=%d gid=%d\n", (int) uid, (int) gid);
    system("/exec/products/sbin/agentctl restart");
    }
    ===================================
    Je le compile :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    # gcc –o relanceagent testagent.c
    Je rajoute le setuid :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    # chmod +s relanceagent
    # ls –l relanceagent
    -rwsr-sr-x   1 root     root       101206 Oct 09 16:00 relanceagent
    Puis lorsque j�ex�cute �relanceagent� avec un user lambda j�ai un probl�me de droits.

    Si je fait le test du setuid directement sur agentctl cela fonctionne.

    Autre pr�cision : Le test fonctionne sur AIX et HP-UX.

    Comment faire sur Solaris. ? (sans utiliser sudo)
    Pouvez-vous m�aider ?
    D�avance merci.

  2. #2
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    15
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 15
    Par d�faut
    Pour info ; j'ai trouv� une solution � mon pb avec l'EUID (effcetive-UID)

    # cat testagent.c
    ==================================
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <unistd.h>

    int main()
    {
    setuid(geteuid());
    system("/exec/products/sbin/agentctl restart");
    }
    ===================================

    cette solution permet d'ex�cuter la commande "system" avec l'effective-uid (euid), donc ici root.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [SOLARIS] la version 10 gratuite
    Par wikers dans le forum Solaris
    R�ponses: 39
    Dernier message: 22/02/2010, 09h36
  2. outil de modelisation merise sous SOLARIS
    Par j_siyar dans le forum D�cisions SGBD
    R�ponses: 4
    Dernier message: 08/04/2005, 15h50
  3. utilisation de postgresql sur solaris?
    Par champion dans le forum PostgreSQL
    R�ponses: 4
    Dernier message: 25/03/2005, 14h27
  4. [Sybase]Probl�me avec le BCP sous Solaris
    Par sl dans le forum Sybase
    R�ponses: 3
    Dernier message: 09/09/2004, 07h56
  5. COMM_FAILURE sur Solaris
    Par knotty dans le forum CORBA
    R�ponses: 2
    Dernier message: 21/08/2002, 17h43

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