Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/02/2020, à 10:41

FanchRLN

Scripts avec commande sudo

Bonjour à tous,
j'imagine que le sujet a dû déjà être traité mais je n'ai rien trouvé de pertinent sur le forum ou google. ( j'ai peut-être mal lu/vu).
Je vos contacts pour un script que j'aimerais bien faire fonctionner sans password.
le but du script c'est pour envoyer les donnes GPS de mon portable vers GPSD pour un logiciel de navigation
je suis sur Ubuntu 18.04.4 LTS.


le script :

#!/bin/bash

sudo rfcomm bind 0 MAC-ADRESSE 2
sleep 5
cat /dev/rfcomm0
sleep 10
sudo service gpsd stop
sleep 30
sudo service gpsd start
Sleep 10
xgps

j'ai fait un "chmod +x" pour le rendre exécutable.
quand je lance par nautilus il ne se passe rien.
quand je lance par  un terminal, il me demande mon Password

j'ai tenté de désactiver les mots passe en modifiant mon fichier sudoers (juste pour test) la plupart des commandes fonctionnent sans password mais pas toute :
exemple: sudo rfcomm bind 0 MAC-ADRESSE 2

Avez-vous des conseils à me donner?
merci pour votre aide!

Hors ligne

#2 Le 10/02/2020, à 13:22

LukePerp

Re : Scripts avec commande sudo

Bonjour,
Tu dois retirer les sudo de ton script et exécuter ton script avec sudo. C'est ton script que tu dois mettre dans sudoers pour l'exécuter avec sudo sans taper le mot de passe.


Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum

Hors ligne

#3 Le 10/02/2020, à 15:48

FanchRLN

Re : Scripts avec commande sudo

ok,et merci de ton retour,
si je comprends bien,
j'enlèves les sudo de mon Bash
je rajoute une ligne a la fin de mon sudoers :

user ALL = NOPASSWD: Chemin/de/la/commande/bash.sh

je devrais pouvoir le lancer de nautilus ou du terminal sans utiliser sudo ?

Hors ligne

#4 Le 10/02/2020, à 17:10

Watael

Re : Scripts avec commande sudo

salut,

[hors-sujet]
dans ton script, plutôt que des attentes d'une durée fixe, il serait peut-être préférable de faire une boucle qui teste la mise en oeuvre correcte de la commande précédente, et d'un nombre de tests max (réinitialisé pour chaque commande!) au-delà duquel le script doit s'arrêter complètement.

nbMax=10
nbTests=0
until commandeQuiVérifieLaPrecedente && ((++nbTests <= nbMax))
do
   sleep 0.5
done

[/hors-sujet]

Dernière modification par Watael (Le 10/02/2020, à 18:28)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 10/02/2020, à 17:42

LukePerp

Re : Scripts avec commande sudo

FanchRLN a écrit :

j'enlèves les sudo de mon Bash
je rajoute une ligne a la fin de mon sudoers :

Tu enlèves les sudo dans ton script : oui
Tu modifie sudoers pour retirer les lignes que tu avais mis pour les commandes dedans ton script et tu ajoute une ligne vers le chemin complet de ton script :

TonNom ALL=NOPASSWD: /chemin/complet/ton/script.sh

Mais, attention, il faut absolument utiliser sudo pour démarrer ton script :

sudo /chemin/complet/ton/script.sh

Dernière modification par LukePerp (Le 10/02/2020, à 17:43)


Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum

Hors ligne

#6 Le 11/02/2020, à 22:51

FanchRLN

Re : Scripts avec commande sudo

ok; merci pour vos conseil, je vais tester ça rapidement!

Hors ligne

#7 Le 12/02/2020, à 00:10

Compte supprimé

Re : Scripts avec commande sudo

Watael a écrit :

salut,

[hors-sujet]
dans ton script, plutôt que des attentes d'une durée fixe, il serait peut-être préférable de faire une boucle qui teste la mise en oeuvre correcte de la commande précédente, et d'un nombre de tests max (réinitialisé pour chaque commande!) au-delà duquel le script doit s'arrêter complètement.

nbMax=10
nbTests=0
until commandeQuiVérifieLaPrecedente && ((++nbTests <= nbMax))
do
   sleep 0.5
done

[/hors-sujet]

merci j'ai encore appris un truc . J'apprécie.