Script shell dossier de partage virtualbox

Résolu
Bonjour,

Je cherche à écrire un petit script pour automatiser le montage d'un dossier de partage.
Je veux donc automatiser les instructions suivantes :
sudo -s
"mot_de_passe"
mount -t vboxsf PartageUbuntu ~/partage
Je suis débutant dans ce domaine. Le plus embêtant est l'écriture du mot de passe pour entrer dans le root.
Comment puis-je faire ?

Merci

5 réponses

  1. Plutôt que d'écrire le mot de passe administrateur en clair dans un fichier accessible à on-ne-sait-trop-qui, jette donc un oeil là-dessus :

    http://www.tuxation.com/setuid-on-shell-scripts.html

    Bonne continuation.
    1. Très bon lien mais ça ne fonctionne pas, même en suivant toute la procédure...
      1. Contributeur
        hello
        utiliser sudo sans mot de passe
        http://doc.ubuntu-fr.org/sudoers
        1. Ça fonctionne aussi, dans ce cas, il faut faire 2 script : le premier
          --8<-- /usr/local/bin/vboxmount --8<--
          mount -t vboxsf $1 $2
          --8<-- /usr/local/bin/vboxmount --8<--
          Puis
          chmod 755 /usr/local/bin/vboxmount
          sudo chown root:root /usr/local/bin/vboxmount
          Comme ça on est sur de ce qu'il contient et il ne peut pas être modifié
          Ensuite un script de lancement qui peut avoir n'importe quel privilège :
          --8<-- un_script --8<--
          sudo  /usr/local/bin/vboxmount  PartageUbuntu ~/partage 
          --8<-- un_script --8<--
          Dans le sudoer, on autorise l'exécution du montage :
           %vboxmounter    ALL = NOPASSWD: /usr/local/bin/vboxmount
          On crée le groupe vboxmounter
          sudo addgroup vboxmounter
          Et enfin on ajoute les utilisateurs voulus à celui-ci
          sudo adduser toto vboxmounter
      2. Alors si j'ai bien compris j'ai fait 1 fichier vboxmount.sh avec cela dedans :
        mount -t vboxsf $1 $2
        chmod 755 /usr/local/bin/vboxmount
        sudo chown root:root /usr/local/bin/vboxmount
        Et un fichier Partage.sh avec cela dedans :
        sudo  /usr/local/bin/vboxmount  PartageUbuntu ~/partage 
        Dans le terminal j'ai écris :
        %vboxmounter    ALL = NOPASSWD: /usr/local/bin/vboxmount
        sudo addgroup vboxmounter
        sudo adduser toto vboxmounter
        La première ligne n'a pas fonctionné
        bash: fg: %vboxmounter : tâche inexistante
        Comment puis-je faire ?
        Merci

        PS : j'ai adapté les chemins pour mon ordinateur : /home/...
        1. Les ciseaux indiquent les limites de fichiers (avec le chemin), le reste c'est des commandes sauf
          %vboxmounter    ALL = NOPASSWD: /usr/local/bin/vboxmount
          qui est une ligne à rajouter dans le fichier sudoer par l'intermédiaire de la commande
          sudo visudo
        2. J'ai rajouté la ligne au fichier mais lorsque j'exécute Partage.sh, il me dit :
          bash: ./Partage.sh: Permission non accordée 
        3. Il faut que tu ais le droit d'exécution sur ton script :
          chmod +x ./Partage.sh
        4. J'ai tapé la ligne de commande :
          chmod +x ./Partage.sh
          Et après m'avoir demandé le mot de passe, il me dit :
          sudo: /home/isen/vboxmount: command not found
          ./Partage.sh: ligne 2 : fg: pas de contrôle de tâche
          Cette ligne 2 :
          %vboxmounter ALL = NOPASSWD: /home/isen/vboxmount
        5. Flachy Joe 16 janv. 2014 à 19:24 :
          sauf

          %vboxmounter ALL = NOPASSWD: /usr/local/bin/vboxmount

          qui est une ligne à rajouter dans le fichier sudoer