From 8d1d29840f7379027d74d19ed6c948500384442e Mon Sep 17 00:00:00 2001
From: Daniel STAN <daniel.stan@crans.org>
Date: Thu, 1 Aug 2013 13:44:42 +0200
Subject: [PATCH] =?UTF-8?q?sudo=20-n=20pour=20=C3=A9viter=20le=20askpass?=
 =?UTF-8?q?=20qui=20ne=20marchera?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README                  | 9 +++++++++
 clientconfig.example.py | 8 ++++----
 server                  | 4 +++-
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/README b/README
index 9d4d663..2525eee 100644
--- a/README
+++ b/README
@@ -38,6 +38,15 @@ avant de lancer make install ou make install-server.
  * Éditez /etc/cranspasswords/serverconfig.py pour qu'il soit conforme
    à vos désirs.
 
+== Troubleshoutings ==
+"""sudo: sorry, a password is required to run sudo"""
+    Côté client: Vérifier le ``server_path`` et les variables en dépendant,
+    dans le serverconfig.py. S'assurer qu'il n'existe pas de
+    clientconfig.py[c] résiduel dans le dossier de cranspasswords.
+    Côté serveur, s'assurer que le serveur est intallé au bon endroit
+    (/usr/local/bin/$NAME-server) et que le fichier sudoers est bien
+    installé (/etc/sudoers.d/$NAME) pour lancer le sudo sans mot de passe
+
 == Complétion ==
  * Pour avoir la bash-complétion, dans votre .bashrc :
   * Sourcez le fichier bash_completion présent dans le dépôt
diff --git a/clientconfig.example.py b/clientconfig.example.py
index b609b4b..c61f3eb 100755
--- a/clientconfig.example.py
+++ b/clientconfig.example.py
@@ -15,7 +15,7 @@ ssh_path = '/usr/bin/ssh'
 server_path = '/usr/local/bin/%s-server' % (cmd_name,)
 
 #: Commande à exécuter sur le serveur après y être entré en ssh
-distant_cmd = "sudo %s" % (server_path,)
+distant_cmd = ["sudo", '-n', server_path]
 
 #: Liste des serveurs sur lesquels ont peut récupérer des mots de passe.
 #: 
@@ -25,13 +25,13 @@ distant_cmd = "sudo %s" % (server_path,)
 #:   le script sur le serveur distant.
 servers = {
     'default': {
-        'server_cmd': [ssh_path, 'vert.adm.crans.org', distant_cmd],
+        'server_cmd': [ssh_path, 'vert.adm.crans.org'] + distant_cmd,
     },
     # Utile pour tester
     'localhost': {
-        'server_cmd': [ssh_path, 'localhost', distant_cmd],
+        'server_cmd': [ssh_path, 'localhost'] + distant_cmd,
     },
     'ovh': {
-        'server_cmd': [ssh_path, 'ovh.crans.org', distant_cmd],
+        'server_cmd': [ssh_path, 'ovh.crans.org'] + distant_cmd,
     }
 }
diff --git a/server b/server
index 973125b..c93272c 100755
--- a/server
+++ b/server
@@ -1,5 +1,7 @@
 #!/bin/bash
 # sudo-wrapper pour exécuter cranspasswords côté serveur
+# Beware : code potentiellement mort (clientconfig fait un appel immédiat à sudo)
+# -- DS 01/08/2013
 
 cmd_name=cranspasswords
-sudo /usr/local/bin/${cmd_name}/server.py $*
+sudo -n /usr/local/bin/${cmd_name}/server.py $*
-- 
GitLab