Autoriser un utilisateur non administrateur à utiliser une smartcard

Suite à l'acquisition récente d'une smart card OpenGPG et d'un lecteur usb omnikey cardman 6121, j'ai rencontré un souci :

Je n'arrivais pas à utiliser cette carte autrement qu'en root.

Différentes recherches sur internet m’amenaient plus ou moins directement sur cette page, mais dans mon cas, ça ne marchait pas et il a fallu modifier légèrement la configuration. Aussi je met les détails ici, en espérant que ça puisse éviter à certains de perdre du temps :

La première étape est de récupérer les informations idVendor et idProduct liés au lecteur avec la commande lsusb -v

Dans mon cas :

idVendor 0x076b OmniKey AG

idProduct 0x6623

Ensuite créer un fichier /etc/udev/gnupg-ccid.rules dans lequel on mettra la ligne suivante :

ACTION=="add", ATTRS{idVendor}=="076b", ATTRS{idProduct}=="6623", GROUP="scard", RUN+="/etc/udev/scripts/gnupg-ccid"

idVendor et idProduct seront bien sur à adapter si vous avez un lecteur différent.

La seconde étape est de créer un fichier /etc/udev/scripts/gnupg-ccid contenant :

#!/bin/bash

if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ] then * chmod o-rwx "${DEVICE}"* * chgrp "${GROUP}" "${DEVICE}"* * chmod g+rw "${DEVICE}"* fi

Mettez les droits qui vont bien :

# chmod +x /etc/udev/scripts/gnupg-ccid

Créer un lien symbolique pour qu'udev prenne la configuration en compte :

# ln -s /etc/udev/gnupg-ccid.rules /etc/udev/rules.d/gnupg-ccid.rules

Créer le groupe scard :

# addgroup scard

Ajouter au groupe scard l'utilisateur auquel on veut donner les droits :

# addgroup nomutilisateur scard

Dire à udev de prendre en compte la nouvelle configuration :

# udevadm control --reload-rules

C'est fini ! Plus besoin d'être root pour utiliser la carte.


Commentaires :

Pas encore de commentaires

Laisser un commentaire

social