Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BASH] Utilisez sudo pour des commandes sans root

Sujet résolu
    22 octobre 2022 à 21:51:40

    Bonjour à vous.

    J'essaye depuis quelques temps, de créer un script, pour installer des programmes.

    Le problème, c'est que je dois utiliser SUDO, pour

    apt install <package>

    mais je dois aussi utiliser l'utilisateur, pour

    pip3 install <package>

    Si j'utilises

    sudo -u <user> ./script
    #ou
    sudo -H -u <user> ./script
    
    echo "$HOME"
    echo "$USER"

    Tout s'installe correctement, mais je n'ai plus accès à root, /opt, etc..

    Si j'utilises pas le "sudo -u" tout s'installe par root et dans /root, donc les PIPs sont brisés.

    Dois-je créer 2 scripts, l'un avec sudo et l'autre sans?

    Y a t'il un moyen d'utiliser sudo, pour certaines commandes et l'enlever pour d'autre?

    J'espère être clair ;)

    NLT





    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2022 à 16:14:38

      Bonjour,

      Tu peux normalement faire un sudo sur la commande que tu souhaites plutôt que sur l'entièreté de ton script non ?

      sudo apt install [nom du paquet]

      • Partager sur Facebook
      • Partager sur Twitter
        28 octobre 2022 à 0:47:28

        Salut,

        Merci pour votre réponse.

        Effectivement, c'est une méthode, mais il me demande le mot de passe, une fois rendu à cette étape. Si l'installation de ce package est long, il va demander le mot de passe au prochain " sudo apt install", encore une fois.

        Je croyais qu'il y avait un moyen, plus simple, avant le commencement du "script".

        J'étais certain, que la commande "su -u" gardait les variables d'environnements de l'utilisateur, tout en exécutant des commandes root.

        De plus, j'étais certain, que les commande "pip install --user" gardait aussi les variables d'environnements de l'utilitsateur.. en utilisant "sudo". Comme s'il pouvait regarder la variable $SUDO_USER, et continuer l'installation dans le /home de celui-ci.

        Merci beaucoup.

        • Partager sur Facebook
        • Partager sur Twitter

        [BASH] Utilisez sudo pour des commandes sans root

        × 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