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 (?)
[/code]
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[/code]
J’ai pas encore tester car j’avais importé la clé avant d’avoir l’idée …
Mais ça semble fonctionner :
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) ?