sudo -n pour éviter le askpass qui ne marchera

This commit is contained in:
Daniel STAN 2013-08-01 13:44:42 +02:00
parent 23ff2d58ee
commit 8d1d29840f
3 changed files with 16 additions and 5 deletions

9
README
View file

@ -38,6 +38,15 @@ avant de lancer make install ou make install-server.
* Éditez /etc/cranspasswords/serverconfig.py pour qu'il soit conforme * Éditez /etc/cranspasswords/serverconfig.py pour qu'il soit conforme
à vos désirs. à 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 == == Complétion ==
* Pour avoir la bash-complétion, dans votre .bashrc : * Pour avoir la bash-complétion, dans votre .bashrc :
* Sourcez le fichier bash_completion présent dans le dépôt * Sourcez le fichier bash_completion présent dans le dépôt

View file

@ -15,7 +15,7 @@ ssh_path = '/usr/bin/ssh'
server_path = '/usr/local/bin/%s-server' % (cmd_name,) server_path = '/usr/local/bin/%s-server' % (cmd_name,)
#: Commande à exécuter sur le serveur après y être entré en ssh #: 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. #: 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. #: le script sur le serveur distant.
servers = { servers = {
'default': { 'default': {
'server_cmd': [ssh_path, 'vert.adm.crans.org', distant_cmd], 'server_cmd': [ssh_path, 'vert.adm.crans.org'] + distant_cmd,
}, },
# Utile pour tester # Utile pour tester
'localhost': { 'localhost': {
'server_cmd': [ssh_path, 'localhost', distant_cmd], 'server_cmd': [ssh_path, 'localhost'] + distant_cmd,
}, },
'ovh': { 'ovh': {
'server_cmd': [ssh_path, 'ovh.crans.org', distant_cmd], 'server_cmd': [ssh_path, 'ovh.crans.org'] + distant_cmd,
} }
} }

4
server
View file

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
# sudo-wrapper pour exécuter cranspasswords côté serveur # 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 cmd_name=cranspasswords
sudo /usr/local/bin/${cmd_name}/server.py $* sudo -n /usr/local/bin/${cmd_name}/server.py $*