Aide création script simple .sh

GuillaumeRaph

Membre enregistré
30 Janvier 2014
2
0
32
Bonjour à tous,

Ayant toujours trouvé réponse à mes question sur ce forum, je n'y avait jusqu'ici donc jamais participé, enfin une première. Voici mon problème;

Pour simplicité l'utilisation pour mes parents, et ainsi leur éviter d'utiliser le terminal, je voudrai créer un .sh (je ne sais pas si le .sh est le bon type, l'équivalent d'un batch file sous W) assez simple.

Voici ce que je tape dans le terminal;

Bloc de code:
cd desktop
cd Film
cd b
sudo ./PlexConnect.sy
123456789 (ici, le terminal me demande le mot de passe administrateur)


Mais je ne sais pas du tout comment faire pour que mon script entre le mot de passe, ni quel type de fichier… Merci d'éclairé ma lanterne,
à très vite,

GuillaumeRaph.
 
Bonjour,
la méthode Unix normale consisterait à créer un exécutable possédé par root ayant les bons droits (ie. le bit setuid ) et à laisser cet exécutable ( qui ne doit pas être un shell ) travailler ou lancer le bon shell script, voir Setuid and shell scripts, explained .

Si tu veux vraiment n'utiliser qu'un shell script, sudo -S marche peut-être, le code serait alors :
Bloc de code:
#!/bin/sh
cd Desktop/Film/b
echo "MOTDEPASSE"|sudo -S ./PlexConnect.sy
mais cela veut dire que si quelqu'un tombe sur ce fichier, le mot de passe du compte est plus que compromis :-~
 
Une autre méthode consiste à autoriser l'utilisateur à lancer l'exécutable avec sudo sans mot de passe : on peut en effet autoriser un utilisateur quelconque à lancer une application donnée (ou plusieurs, peu importe) sans avoir à entrer son mot de passe.

C'est pratique pour les scripts, justement. Il faut simplement ne donner l'autorisation que pour des exécutables inoffensifs.

Je me permets de te rediriger vers un de mes anciens post sur le sujet, ici.
Attention à la modification du fichier /etc/sudoers : je te conseille d'avoir un Terminal avec un shell en root (commane : sudo -s) ouvert dans une autre fenêtre pour réparer une éventuelle cagade...
 
Dernière édition:
Bonjour,

Merci pour vos réponses, aussi précises soit-elles. Malheureusement j'ai eu beau creuser et retourner dans tous les sens je suis un peu perdu. Etant un utilisateur novice, les shell, root… j'ai un peu du mal pour être honnête.

Je ne veux pas forcement créer un shell script, mais juste un "exécutable" qui, par le biais d'un double clique, ouvre le fichier "PlexConnect.sy" .

Et je suis vraiment perdu… J'ai essayer de me renseigner sur les .command .sh / regedit etc… et pour être honnête je n'ai pas (rien) compris.

Y a-t-il un moyen plus simple pour réaliser ce qui est décrit ci-dessus?

Merci,

GuillaumeRaph
 
Regedit ? Oups. [c'est l'éditeur de la base de registre de Ouinedoze... ;)]

Pour en revenir à ta question, l'idée serait de :
a) créer une action Automator ou un script ActionScript dans lequel on passerait la commande suivante :
Bloc de code:
sudo /Users/alfred/Desktop/Film/b/PlexConnect.sy
b) modifier le fichier des sudoers pour ajouter une ligne du genre :
Bloc de code:
alfred   ALL=NOPASSWD: /Users/alfred/Desktop/Film/b/PlexConnect.sy

J'aimerais bien savoir ce qu'est ce fichier à "PlexConnect.sy".