Pages : 1
#1 Le 13/05/2013, à 00:35
- GhostInTheShell
[RESOLU] bash & nopasswd
Bonjour,
J’utilise des scripts bash qui contiennent la commande sudo et je souhaiterai ne pas avoir à taper le mot de passe à chaque utilisation.
Donc j'ai tenté ceci:
sudo visudo
j'ai ajouté cette ligne:
nomutilisateur ALL=(ALL) NOPASSWD: /home/nomutilisateur/bashfile
sous nano ^x o /etc/sudoers.tmp
redémarrage
Et biensûre celà ne fonctionne pas
Quelqu'un a une idée?
Merci d'avance
Dernière modification par GhostInTheShell (Le 13/05/2013, à 18:45)
Hors ligne
#2 Le 13/05/2013, à 04:07
- nesthib
Re : [RESOLU] bash & nopasswd
S'il n'est pas dans le PATH, tu dois lancer ton script ainsi :
sudo /home/nomutilisateur/bashfile
(bien entendu ton script doit être exécutable)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#3 Le 13/05/2013, à 07:24
- tiramiseb
Re : [RESOLU] bash & nopasswd
Salut,
Si j'ai bien compris, tu as un script qui fait appel à sudo. Et tu aimerais que les appels à sudo au sein de ce script ne demandent pas de mot de passe.
Sauf que la configuration que tu as mise en place, comme l'indique nesthib, c'est pour exécuter ton script lui-même avec sudo.
Deux possibilités :
1/ tu supprimes les appels à "sudo" au sein de ton script et tu exécutes toujours le script avec la commande "sudo"
2/ tu configures sudo (avec visudo) pour que tous les appels effectués au sein de ton script soient autorisés sans mot de passe
Par curiosité, il sert à quoi ton script ? Peut-être qu'en en sachant un peu plus on peut t'aider plus intelligemment.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#4 Le 13/05/2013, à 11:15
- GhostInTheShell
Re : [RESOLU] bash & nopasswd
Bonjour,
Tout d'abord merci pour les réponses.
Dans les faits j'utilise plusieurs scripts que je lance via thunar dans un terminal ou directement via la console: bash nomduscript
Exemples:
#!/bin/bash
sudo grub-reboot "Windows NT/2000/XP (loader) (on /dev/sda1)"
sudo shutdown -r now
#!/bin/bash
sudo X -terminate -query 192.168.1.50 :1
Les scripts eux-mêmes ne sont pas dangereux ou sensibles. Cependant cela m’agace au bout d'un moment de devoir taper, retaper et retaper mon mot de passe
Hors ligne
#5 Le 13/05/2013, à 11:24
- tiramiseb
Re : [RESOLU] bash & nopasswd
Dans ce cas il vaut mieux exécuter tes scripts avec sudo ; tu les rends exécutables puis tu les lances avec :
sudo /home/nomutilisateur/bashfile
Tu enlèves les "sudo" à l'intérieur des scripts et tu fais les autorisations comme tu l'as indiqué dans le message #1...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 13/05/2013, à 12:38
- GhostInTheShell
Re : [RESOLU] bash & nopasswd
Donc si je comprend bien les scripts avec un sudo à l'intérieur on ne peut pas les rendre exécutables comme n'importe quel fichier exécutable (.exe, .bat, etc...)?
Hors ligne
#7 Le 13/05/2013, à 12:44
- tiramiseb
Re : [RESOLU] bash & nopasswd
bien sûr que si, le script peut être exécutable, avec un "chmod a+x" tout à fait classique.
Mais si tu veux exécuter des commandes qui ont besoin des droits donnés par "sudo", tu as deux possibilités :
1/ soit tu configures sudo (avec visudo) pour pouvoir exécuter le script avec "sudo /chemin/nom_du_script"
2/ soit tu mets des appels à "sudo" dans le script et tu configures sudo (avec visudo) pour autoriser chacune des commandes exécutées par le script (ce qui te donnera les autorisations en question également en dehors des scripts)
Dernière modification par tiramiseb (Le 13/05/2013, à 12:45)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#8 Le 13/05/2013, à 12:45
- tiramiseb
Re : [RESOLU] bash & nopasswd
Au fait,
n'importe quel fichier exécutable (.exe, .bat, etc...)?
Euh .exe et .bat, c'est des fichiers pour Windows, ça n'a rien à voir avec Linux, et c'est tout sauf "n'importe quel fichier exécutable"
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 13/05/2013, à 18:45
- GhostInTheShell
Re : [RESOLU] bash & nopasswd
Ok merci à tous .
Je vais tenter ma chance sous python (que je ne connais pas encore ).
Hors ligne
#10 Le 14/05/2013, à 07:20
- tiramiseb
Re : [RESOLU] bash & nopasswd
Quel est le rapport entre ton problème de sudo et Python !?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#11 Le 14/05/2013, à 10:51
- elendil
Re : [RESOLU] bash & nopasswd
Voilà une traduction d'un de tes script en python
#!/usr/bin/env python
import os
os.system("sudo grub-reboot \"Windows NT/2000/XP (loader) (on /dev/sda1)\"")
os.system("sudo shutdown -r now")
Le problème que tu vas avoir reste le même : il va te demander le mot de passe pour chaque commande où il y a "sudo" dedans !
As-tu bien compris ce que veut dire "sudo" ?
Si tu n'es pas certain de ta réponse jette un oeil ici
Dernière modification par elendil (Le 14/05/2013, à 11:52)
Hors ligne
#12 Le 14/05/2013, à 11:08
- GhostInTheShell
Re : [RESOLU] bash & nopasswd
Alors ce que j'ai fait c'est:
nomutilisateur ALL=(ALL) NOPASSWD: /home/nomutilisateur/scriptbash
#!/usr/bin/python2
import os
os.system ('sudo /home/nomutilisateur/scriptbash')
Là y a plus de problème je lance le tout sans donner des droits à n'importe quelle commande et surtout sans avoir à saisir mon mot de passe. Et tout ceci via thunar ou nautilus sans lâcher la sourie
Et encore merci à tous ceux qui m'ont aidés. Vive le fofo ubuntu-fr
Hors ligne
#13 Le 14/05/2013, à 11:47
- tiramiseb
Re : [RESOLU] bash & nopasswd
Quel est l'intérêt d'utiliser Python !?!?
d'une part tu peux faire ça avec un shellscript :
#!/bin/sh
sudo /home/nomutilisateur/scriptbash
d'autre part si tu utiliser un cliquodrome tu peux faire un fichier ".desktop" qui appelle cette commande...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#14 Le 14/05/2013, à 11:50
- elendil
Re : [RESOLU] bash & nopasswd
Edit : (tiramiseb a été plus rapide)
Pourquoi utiliser python qui lance bash ??? C'est un peu tordu.
À mon avis, un simple alias et/ou script bash était suffisant !
Pas besoin d'utiliser python pour ça.
Et comme te l'ont dit nesthib et tiramiseb tu lances le script via son chemin absolu avec sudo.
Un alias
alias scriptbash="sudo /home/nomutilisateur/scriptbash"
dans ton .bashrc était suffisant pour l'utiliser partout sans avoir besoin d'un script qui lance le script.... En tout cas pour le terminal....
Pour Nautilus et Thunar, j'ai l'impression qu'il faut un script et dans ce cas le script suivant en Bash est largement suffisant et fais la même chose :
#!/bin/bash
sudo /home/nomutilisateur/scriptbash
Sinon tu peux faire un lanceur pour juste cliquer dessus et pas besoin de script qui lance un script...
Dernière modification par elendil (Le 14/05/2013, à 11:53)
Hors ligne