Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de droits pour l'éxécution d'un script

Script refusant de créer un user pour des questions de droits

    9 septembre 2024 à 13:19:08

    Bonjour à tous.

    Je rencontre un problème sur lequel je sèche depuis des jours, sans comprendre pourquoi mon script ne fonctionne pas.

    Je m'explique :

    Je travaille sur un serveur kimsufi en debian 9.

    Ce serveur sert a un de mes clients à gérer des comptes sftp pour l'échange d'images. Je cherche a construire une solution web pour permettre a mon client d'être autonome.

    Donc j'ai créé un script bash qui crée des répertoires, crée un user et attribue les bons droits a ces derniers. En root le script s’exécute parfaitement.

    C'est dès que j'ai voulu faire exécuter le script par ma page php que tout c'est compliqué, voici les détails.

    Je précise qu'il a beaucoup de littérature sur les divers forum du web sur le sujet qui m'occupe, je les ai bien sur consultés et fais énormément de tentatives infructueuses avant de poster ici.

    Donc l'appel de mon script se fait ainsi en php et cela fonctionne j'ai des répertoires qui sont bien créés :

    //Exécution du script de création sur le serveur
    
    $creaCompteTexte = "sudo /var/www/abacom/createTestSftpCount.sh ".$clientLogin." ". $motPasse;
    $countCreate = shell_exec($creaCompteTexte);

    Je calcule un mot de passe et je récupère le login client dans un formilaire.

    Voici  le script en question :

    #!/bin/bash
    exec &>> messagesLog.log
    
    # Varianle $1 est le nom du user
    # Variable $2 est le mot de passe du compte
    
    cd /var/sftptest || return 2
    mkdir $1
    mkdir $1/fichiers
    
    sudo useradd -g 1002 -M -p $(perl -e 'print crypt($ARGV[0], "password")' $2) $1
    
    cd $1
    chown -R $1 fichiers
    chgrp -R sftp fichiers
    
    echo $1 $2
    exit

    Les répertoires sont bien créés par le user www-data mais j'ai une erreur au niveau de la création du user, www-data n'a pas les bons droits

    voici l'erreur enregistrée dans mon fichier messageLog.log

    Le user est  loginsociete200
    www-data
    
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:
    
        #1) Respect the privacy of others.
        #2) Think before you type.
        #3) With great power comes great responsibility.
    
    sudo: no tty present and no askpass program specified
    www-data
    chown: invalid user: 'loginsociete200'
    chgrp: changing group of 'fichiers': Operation not permitted
    loginsociete200 UyhCoFGHKSmR



    La création d'un user ne pouvant être faite que par un admin j'ai modifié le fichier sudoers ainsi pour le user www-data

    root@ns3030891:/etc# sudo VISUAL=/usr/bin/vim visudo
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # Please consider adding local content in /etc/sudoers.d/ instead of
    # directly modifying this file.
    #
    # See the man page for details on how to write a sudoers file.
    #
    Defaults        env_reset
    Defaults        mail_badpass
    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    
    # Host alias specification
    
    # User alias specification
    
    # Cmnd alias specification
    
    # User privilege specification
    root    ALL=(ALL:ALL) NOPASSWD: ALL
    www-data ALL=(ALL) NOPASSWD: ALL
    alphonse ALL=NOPASSWD: ALL
    
    
    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    %autosftp ALL=(ALL:ALL) ALL
    %admin ALL=(ALL) ALL
    # See sudoers(5) for more information on "#include" directives:
    
    #includedir /etc/sudoers.d
    

    Par ailleurs lorsque j'essaie de faire exécuter un adduser par www-data j'ai l'erreur suivante :

    root@ns3030891:/etc# sudo -u www-data adduser popeye
    adduser : Seul le superutilisateur est autorisé à ajouter un utilisateur ou un groupe au système.
    



    Ce qui tendrait à montrer que www-data n'est pas un admin pourtant www-data appartient bien aux groupes sudo et root.

    Je ne comprends pas ce qui ne va pas.

    Merci d'avance pour votre aide.

    -
    Edité par ChristopheValentin6 9 septembre 2024 à 15:41:45

    • Partager sur Facebook
    • Partager sur Twitter
      9 septembre 2024 à 13:22:28

      les images/capture écrans ne passent pas en utilisant des copier/coller. Il faut passer le bouton Image, et pour le code, il est largement préférable de le mettre textuellement dans une de code (bouton </>)
      • Partager sur Facebook
      • Partager sur Twitter
        9 septembre 2024 à 14:26:30

        Bonjour, Merci de lire les règles du forum AVANT de créer un sujet.

        Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
        Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

        Pour plus d'informations, nous vous invitons à lire les règles générales du forum

        Merci de colorer votre code à l'aide du bouton Code </>

        Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton  </> de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

        Merci de modifier votre message d'origine en fonction.

        Liens conseillés

        • Partager sur Facebook
        • Partager sur Twitter
          9 septembre 2024 à 15:42:42

          Merci pour ces informations, normalement c'est maintenant conforme.
          • Partager sur Facebook
          • Partager sur Twitter

          Problème de droits pour l'éxécution d'un script

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown