Je pense, si sudo est configuré pour au préalable ...
un petit alias peut-être :
Code:
$ nano ~/.bash_aliases # edition de ~/.bash_aliases
alias gpgnewkey='sudo /usr/local/bin/gpgnewkey' # ajout d'une ligne
$ su
passwd:
# nano /etc/sudoers # edition de /etc/sudoers
-------------------------------------- ajout de 2 lignes : ----------------------------
---------------------------------------------------------------------------------------
Cmnd_Alias GPGNEWKEY=/usr/local/bin/gpgnewkey
---------------------------------------------------------------------------------------
NOPASSWD:GPGNEWKEY,
---------------------------------------------------------------------------------------
# nano /.scripts/pgpnewkey.sh # edition d'un script dans un repertoire de scrips
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
#!/bin/bash
# nécessite le paquet fakeroot, est il installé ?
# Ajout d'une clé gpg
ERR_PARAM_ABS=67
ERR_PARAM_LEN=68
PARAM_LEN=8
ERR_MESSAGE="Mentionner les 8 derniers éléments de la clé"
# Tests des paramètres
if [ ! -n "$1" ]; then # si aucun paramètre spécifié
echo $ERR_MESSAGE && exit 67 # quitte le script
else
CLE="$1" # receuille la clé
CLE_LEN=${#CLE} # taille de la clé
[ $CLE_LEN -ne 8 ] &&
{ echo "$CLE_LEN chiffres : incorrect, $ERR_MESSAGE"; exit 68; }
fi
# Ajout de la clé -------------------------------------------------------------------
fakeroot gpg --keyserver pgpkeys.mit.edu --recv-key $CLE
fakeroot gpg -a --export $CLE | sudo apt-key add -
# ------------------------------------------------------------------------------------
----------------------------- Quitter le fichier -------------------------------------
# chmod 700 /.scripts/gpgnewkey.sh # le rendre exécutable
----------------------------- Créer un lien dans /usr/local/bin ----------------------
# ln -s /.scripts/gpgnewkey.sh /usr/local/bin/gpgnewkey
# sudo -v # prise en compte des modifs sudo (?)
On devrait avoir ça :
Code:
# ls -l /.scripts
-rwx------ 1 root root 773 2006-08-15 07:54 gpgnewkey.sh
# ls -l /usr/local/bin/
lrwxrwxrwx 1 root staff 22 2006-08-15 08:05 gpgnewkey -> /.scripts/gpgnewkey.sh
J'ai pas encore tester car j'avais importé la clé avant d'avoir l'idée ...
Mais ça semble fonctionner :
Code:
jcode@debian:~$ gpgnewkey 1F41B907
gpg: requête de la clé 1F41B907 du serveur hkp pgpkeys.mit.edu
gpg: clé 1F41B907: nom d'utilisateur en double détecté - fusion accomplie
gpg: clé 1F41B907: « Christian Marillat <marillat@debian.org> » n'a pas changé
gpg: Quantité totale traitée: 1
gpg: inchangée: 1
OK
Au fait, comment on retire une clé du trousseau (je suis pas trop sur d'avoir compris dans man) ?