Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:pam-usb [Le 27/11/2009, 13:42]
root75 adapté à karmic
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​Gutsy Hardy tutoriel}} 
  
----- 
- 
- 
- 
- 
-====== Comment s’authentifier avec une clé USB ? ====== 
- 
-Nous allons voir ici comment utiliser une clé USB pour se connecter verrouiller/​déverrouiller son PC sous Ubuntu (testé sous Gutsy mais il devrait fonctionner sur une version antérieure) grâce à pam-usb sans passer par la manière traditionnelle (login/mot de passe uniquement). L'​idée est que si la clé n'est pas dans un des ports USB du PC, le PC n'est pas utilisable. 
-Dans le cas ou la clé USB est insérée dans un autre ordinateur elle aura le comportement d'une clé USB classique, de plus vous pouvez utiliser votre clé USB comme clé USB de stockage (testé sans problèmes). 
- 
-Ce tutoriel est une version améliorée de celle du site d'​origine:​ http://​pamusb.org. 
- 
-<note warning>​Je vous conseille fortement de lire ce tutoriel en entier avant de commencer pour être sûr de ne pas faire de bourde. En cas de mauvaise configuration vous pourriez ne plus pouvoir vous connecter à votre PC (la fin du tutoriel traite de la récupération de la connexion en cas de fausse manipulation ou de perte de la clé USB ;-) )</​note>​ 
- 
-===== Pré-requis ===== 
- 
-  * Disposer des [[:​sudo|droits d'​administration]] ; 
-  * Disposer d'une connexion à Internet configurée et activée ; 
-  * Savoir se servir d'un terminal. 
- 
-===== Installation ===== 
- 
-Il vous suffit, pour cela, d'​[[:​tutoriel:​comment_installer_un_paquet|installer les paquets]] **[[apt://​libpam-usb]] et [[apt://​pamusb-tools]]**. 
-===== Configuration ===== 
- 
-Une fois les paquets installés nous allons, dans un premier temps spécifier la clé USB qui verrouillera/​déverrouillera l'​ordinateur. 
-Pam-usb créera une clé cryptée à la racine de cette clé USB dans le dossier caché "​.pam-usb"​ 
-  - Insérez la clé USB dans un des ports du PC. 
-  - Ouvrez un terminal et tapez le code suivant : 
- 
- <​code>​$ sudo pamusb-conf --add-device nom_de_ma_clé ​ 
-</​code>​ 
-<note tip>"​nom_de_ma_clé"​ est à remplacer par le nom que vous voulez donner à votre clé</​note>​ 
- 
- ​pamusb-conf va lister les périphériques USB montés sur l'​ordinateur,​ dans le cas où il n'y en a qu'un il vous le proposera d'​office,​ il suffira donc de taper Y et entrée : 
- 
-<​code>​ 
-Please select the device you wish to add. 
-* Using "​SanDisk Corp. Cruzer Titanium (SNDKXXXXXXXXXXXXXXXX)"​ (only option) 
-Which volume would you like to use for storing data ? 
-* Using "/​dev/​sda1 (UUID: <​6F6B-42FC>​)"​ (only option) 
-Name            : MyDevice 
-Vendor ​         : SanDisk Corp. 
-Model           : Cruzer Titanium 
-Serial ​         : SNDKXXXXXXXXXXXXXXXX 
-Volume UUID     : 6F6B-42FC (/dev/sda1) 
-Save to /​etc/​pamusb.conf ? 
-[Y/n] y 
-Done. 
-</​code>​ 
- dans le cas où il y en a plusieurs il les liste et leur attribue un numéro, à vous de choisir celui que vous voulez. 
-Laissez le terminal ouvert. 
-<note tip>Il est préférable de n'​avoir que la clé USB voulue de connectée pour éviter toute confusion au moment de cette manipulation</​note>​ 
- 
-Nous allons maintenant définir les utilisateurs concernés par le verrouillage/​déverrouillage,​ pour cela tapez dans le terminal : 
-<​code>​sudo pamusb-conf --add-user nom_d_utilisateur </​code>​ 
-<note tip>"​nom_d_utilisateur"​ est à remplacer par votre nom d'​utilisateur</​note>​ 
-Vous obtenez : 
-<​code>​Which device would you like to use for authentication ? 
-  * Using "​MyDevice"​ (only option) 
-  User            : nom_d_utilisateur 
-  Device ​         : MyDevice 
-  Save to /​etc/​pamusb.conf ? 
-  [Y/​n]</​code>​ 
-Tapez Y et la touche entrée pour confirmer. 
- 
- 
-Laissez le terminal ouvert. 
- 
-Nous allons simuler l'​authentification d'un utilisateur pour voir si cela fonctionne, tapez dans le terminal : 
-<​code>​pamusb-check nom_d_utilisateur</​code>​ 
-l'​opération devrait se dérouler comme ceci: 
-<​code>​pamusb-check --service=sudo nom_d_utilisateur ​ 
-* Authentication request for user "​nom_d_utilisateur"​ (sudo) 
-* Device "​MyDevice"​ is connected (good). 
-* Performing one time pad verification... 
-* Access granted.</​code>​ 
- 
-Laissez le terminal ouvert. 
- 
-Deux possibilités : 
--Ça ne marche pas : vous avez raté les configs ; désinstallez complètement puis réinstallez pam-usb et reprenez depuis le début (tapez dans le terminal): 
- 
-<​code>​sudo apt-get remove --purge libpam-usb pamusb-tools && sudo apt-get autoremove && sudo apt-get install libpam-usb pamusb-tools</​code>​ 
- 
--Ça marche : on continue 8-) 
-<note warning>​Les sources de pam-usb ont un bug ! (source: https://​bugs.launchpad.net/​ubuntu/​+source/​libpam-usb/​+bug/​133100 ) Avant de continuer nous allons éditer le fichier "/​usr/​bin/​pamusb-agent"​ 
-<​code>​sudo gedit /​usr/​bin/​pamusb-agent</​code>​ 
-remplacez la ligne 30: 
-<​code>​import xml.elementtree.ElementTree as et</​code>​ 
-par: 
-<​code>​import xml.etree.ElementTree as et</​code>​ 
-Enregistrez le fichier et fermez-le. 
-__Sous Intrepid le bug est réglé__</​note>​ 
- 
-=== Configuration de PAM === 
-C'est lui qui autorise l'​authentification. 
- 
-<note warning>​L'​opération suivante est délicate, si vous vous ratez vous ne pourrez peut-être plus vous connecter à votre ordinateur!</​note>​ 
- 
-Nous allons commencer par faire une copie de /​etc/​pam.d/​common-auth,​ tapez dans le terminal : 
-<​code>​sudo cp /​etc/​pam.d/​common-auth /​etc/​pam.d/​common-auth.back</​code>​ 
- 
-Puis nous allons éditer /​etc/​pam.d/​common-auth afin que la présence de la clef soit indispensable pour s'​authentifier auprès des différentes applications (login, gdm,sudo, ...) 
-<​code>​sudo gedit /​etc/​pam.d/​common-auth</​code>​ 
- 
-Votre fichier devrait ressembler à ça sous karmic (9.10) 
-<​code>​ 
-# 
-# /​etc/​pam.d/​common-auth - authentication settings common to all services 
-# 
-# This file is included from other service-specific PAM config files, 
-# and should contain a list of the authentication modules that define 
-# the central authentication scheme for use on the system 
-# (e.g., /​etc/​shadow,​ LDAP, Kerberos, etc.). ​ The default is to use the 
-# traditional Unix authentication mechanisms. 
-# 
-# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. 
-# To take advantage of this, it is recommended that you configure any 
-# local modules either before or after the default block, and use 
-# pam-auth-update to manage selection of other modules. ​ See 
-# pam-auth-update(8) for details. 
-# here are the per-package modules (the "​Primary"​ block) 
-auth [success=1 default=ignore] pam_unix.so nullok_secure 
-# here's the fallback if no module succeeds 
-auth requisite pam_deny.so 
-# prime the stack with a positive return value if there isn't one already; 
-# this avoids us returning an error just because nothing sets a success code 
-# since the modules above will each just jump around 
-auth required pam_permit.so 
-# and here are more per-package modules (the "​Additional"​ block) 
-# end of pam-auth-update config 
-</​code>​ 
- 
-Nous allons insérer la ligne suivante pour que la clef soit nécessaire à l'​authentification ( clef + mot de passe )  
-<​code>​auth ​   required ​   pam_usb.so</​code>​ 
-ou ceci pour la clef soit suffisante à l'​authentification (Clef seul sans mot de passe) 
-<​code>​auth ​   sufficient ​   pam_usb.so</​code>​ 
-Ce qui donne : 
-<​code>​ 
-# 
-# /​etc/​pam.d/​common-auth - authentication settings common to all services 
-# 
-# This file is included from other service-specific PAM config files, 
-# and should contain a list of the authentication modules that define 
-# the central authentication scheme for use on the system 
-# (e.g., /​etc/​shadow,​ LDAP, Kerberos, etc.). ​ The default is to use the 
-# traditional Unix authentication mechanisms. 
-# 
-# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. 
-# To take advantage of this, it is recommended that you configure any 
-# local modules either before or after the default block, and use 
-# pam-auth-update to manage selection of other modules. ​ See 
-# pam-auth-update(8) for details. 
-auth    sufficient ​   pam_usb.so 
-# here are the per-package modules (the "​Primary"​ block) 
-auth [success=1 default=ignore] pam_unix.so nullok_secure 
-# here's the fallback if no module succeeds 
-auth requisite pam_deny.so 
-# prime the stack with a positive return value if there isn't one already; 
-# this avoids us returning an error just because nothing sets a success code 
-# since the modules above will each just jump around 
-auth required pam_permit.so 
-# and here are more per-package modules (the "​Additional"​ block) 
-# end of pam-auth-update config 
-</​code>​ 
- 
-=== Utilisation de pamusb-agent === 
-Nous allons ajoutter pamusb-agent aux services à démarrer automatiquement au démarrage (hem^^), pour cela nous allons dans système>​préférences>​sessions,​ 
-on clic sur ajouter puis nous entrons <​code>​pamusb</​code>​ pour le nom et <​code>​pamusb-agent</​code>​ pour la commande 
- 
-Et voilà le tour est joué ^_^ . 
-Il vous faudra maintenant votre clé USB et votre mot de passe pour vous connecter ou déverrouiller l'​ordinateur. 
-Si vous voulez uniquement utiliser la clé USB et ne plus avoir à taper de mot de passe, au moment de l'​édition de "/​etc/​pam.d/​common-auth"​ commentez la ligne "​auth ​   required ​     pam_unix.so nullok_secure",​ votre fichier doit alors être : 
-<​code>#​ 
-# /​etc/​pam.d/​common-auth - authentication settings common to all services 
-# 
-# This file is included from other service-specific PAM config files, 
-# and should contain a list of the authentication modules that define 
-# the central authentication scheme for use on the system 
-# (e.g., /​etc/​shadow,​ LDAP, Kerberos, etc.). ​ The default is to use the 
-# traditional Unix authentication mechanisms. 
-# 
-auth    required ​      ​pam_usb.so 
-#auth    required ​      ​pam_unix.so nullok_secure 
-auth optional ​      ​pam_smbpass.so migrate missingok</​code>​ 
-vous n'avez plus besoin de taper votre mot de passe pour vous connecter ou déverrouiller le PC. 
- 
-===== Utilisation===== 
- 
-Nous avons vu "​connecter"​ et "​déverrouiller"​ l'​ordinateur mais qu'en est-il du verrouillage dans le cas où vous êtes déjà connecté et votre ordinateur est allumé ? 
- 
-La doc officielle montre comment déclencher et bloquer l'​écran de veille au démontage de la clé et désactiver l'​écran de veille au remontage de celle-ci mais cela ne marche que quand la clé USB est OPTIONELLE (sufficient) et non NÉCESSAIRE (required) au déverrouillage,​ ce qui de ce fait ne verrouille pas le PC sans la clé USB. 
- 
-La seule alternative que j'ai trouvée est de régler l'​économiseur d'​écran (>​système>​préférences>​économiseur d' écran) pour qu'il s'​active à une minute et qu'il soit bloqué (verrouillez l'​option:​ "​Verrouiller l'​écran quand l'​économiseur d'​écran est actif" dans le gestionnaire d'​économiseur d'​écran) 
-Si vous devez laisser votre ordinateur travailler et que personne n'y accède il vous suffit de déconnecter votre clé USB le temps de vous préparer à faire autre chose (environ une minute minimum ^_^) l'​économiseur d'​écran sera activé et votre PC sera verrouillé... 
-Il vous suffira à votre retour de connecter la clé et de rentrer votre mot de passe (ou simplement bouger la souris ou appuyer sur une touche du clavier si vous avez désactivé l'​authentification par mot de passe) pour vous reconnecter. Le montage de la clé USB prend quelques secondes donc ne paniquez pas en cas d'​échec à la première tentative de déverrouillage par mot de passe et recommencez ;-) 
- 
-<note tip>​**__Verrouillage immédiat :__** (Astuce de Mysteroïd, sous Gnome uniquement) 
-Il suffit d'​utiliser la commande suivante dans une console, un terminal, éventuellement en utilisant un alias, ou mieux encore par un lanceur : 
-  gnome-screensaver-command -l 
-L'​ordinateur est alors immédiatement en mode économiseur d'​écran PC verrouillé,​ sans même avoir à changer ses préférences... 
-</​note>​ 
- 
-===== Désinstallation ===== 
- 
-Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer les paquets]], rentrez dans un terminal : 
-<​code>​sudo apt-get remove --purge libpam-usb pamusb-tools</​code>​ 
-<note warning>​Les fichiers de configuration seront supprimés et il ne faut pas oublier de remplacer le fichier /​etc/​pam.d/​common-auth par la copie précédemment faite :</​note>​ 
-<​code>​sudo mv -f /​etc/​pam.d/​common-auth.back /​etc/​pam.d/​common-auth</​code>​ 
- 
-===== Problèmes ===== 
- 
- 
- 
- 
- 
-==== Impossible de se connecter ==== 
- 
-Redémarrez l'​ordinateur,​ affichez grub s'il ne se fait pas de lui-même (tapotez la touche esc après le démarrage du bios) 
-Choisissez le démarrage de secours (recovery mode) et choisissez le shell root. 
-remplacez le fichier /​etc/​pam.d/​common-auth par la sauvegarde :  
-<​code>​mv -f /​etc/​pam.d/​common-auth.back /​etc/​pam.d/​common-auth</​code>​ 
-Redémarrez. 
-La méthode d'​authentification traditionnelle est rétablie, il ne vous reste plus qu'à reprendre à "ça ne marche pas" dans la partie "​configuration"​. 
-En aucun cas l'​absence de la clé USB vous empêchera d'​ouvrir la session recovery.===== Liens ===== 
- 
-  * Site d'​origine : [[http://​pamusb.org]] 
- 
----- 
- 
-//​Contributeurs : [[:​utilisateurs:​furious-therapy]],​ [[:​utilisateurs:​Mysteroïd]],​[[:​utilisateurs:​root75]].//​ 
  • tutoriel/pam-usb.1259325754.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)