macOS Sonoma permet enfin de toujours valider la commande sudo avec Touch ID

Nicolas Furno |

Depuis l’apparition des Mac équipés de Touch ID, une astuce permet d’utiliser leur capteur d’empreintes pour valider une commande avec sudo dans le terminal. Cela active temporairement les droits administrateurs et cette commande est indispensable pour réaliser de nombreuses opérations. Par sécurité, macOS demande alors le mot de passe de l’administrateur avant d’exécuter la commande, mais ne propose pas par défaut d’utiliser Touch ID pour la valider. L’astuce le permet depuis des années, mais elle a une limite importante : elle saute à chaque nouvelle version du système.

Comment utiliser Touch ID dans le Terminal (commande sudo)

Comment utiliser Touch ID dans le Terminal (commande sudo)

Le fichier à modifier est en effet contrôlé par macOS et écrasé après chaque mise à jour, qu’elle soit mineure ou majeure. À l’usage, il fallait penser à faire une manipulation à chaque nouvelle version du système, ce qui était assez lassant et décourageait beaucoup d’utilisateurs du terminal, dont l’auteur de ces lignes. Fort heureusement, Apple a manifestement écouté les plaintes des amateurs de terminal, puisque macOS Sonoma propose une meilleure option.

Comme le note Dan Moren pour Six Colors, on peut désormais configurer Touch ID pour sudo de façon permanente avec macOS Sonoma, même si cela implique toujours de manipuler le terminal pour l’activer. Dans le dossier /etc/pam.d où se trouve la configuration nécessaire, Apple a ajouté un nouveau fichier nommé sudo_local.template. À l’intérieur, un commentaire détaille son rôle et confirme qu’il ne sera pas touché par les futures mises à jour du système.

Le nouveau fichier destiné à l’utilisateur local et qui ne sera pas touché par macOS.

La marche à suivre pour activer Touch ID sous macOS Sonoma varie ainsi un petit peu. Vous aurez besoin de la commande sudo, car il s’agit toujours de modifier des fichiers du système, mais cela devrait être pour la dernière fois sur votre session. Commencez par dupliquer le modèle, en le nommant correctement :

sudo cp /etc/pam.d/sudo_local.template /etc/pam.d/sudo_local

Il faudra encore modifier le fichier nouvellement créé pour retirer le commentaire sur la dernière ligne et activer Touch ID pour les commandes sudo. Vous pouvez le modifier avec l’éditeur de texte pico intégré à macOS, en l’ouvrant avec cette ligne de commande :

sudo pico /etc/pam.d/sudo_local

Réalisez la modification nécessaire en supprimant le « # » au début de la troisième ligne, puis enregistrez les modifications avec le raccourci ^x, puis les touches y et ↩︎ pour valider l’opération.

Vous pourrez vérifier dans la foulée que tout fonctionne normalement en ouvrant une nouvelle fenêtre de terminal et en utilisant la commande sudo (par exemple suivie de ls pour lister le contenu du dossier en cours). Si vous n’avez pas fait d’erreur, macOS devrait vous proposer de valider la commande à l’aide du bouton Touch ID présent sur le clavier de votre Mac.

avatar YuYu | 

Alors ça pour une nouvelle !

avatar iamaware | 

Information purement "Unixienne".
Pour ceux qui sont adeptes du CLI.
Par contre personnellement je trouve que le mot de passe c'est mieux. Mais chacun ses goûts.

avatar oomu | 

@iamaware

cela permet de ne pas avoir à le saisir à tout bout de champs.

Votre empreinte sert de facteur pour décrypter l'authentification fournit à sudo.

vu que de toute façon, touchid est désactivé si tôt que la machine est redémarrée, en pause depuis longtemps, etc, seul un ninja pourrait vous forcer à touchider contre votre gré.

avatar iamaware | 

Oui pas faux, c'est pratique le Touch ID, c'est clair. Ca fait gagner du temps, surtout si on doit saisir le mot de passe plusieurs fois par jour.

avatar Link1993 | 

@iamaware

Ça évite aussi à ce que les gens autour de vous observe le mors de passe.

avatar bonnepoire | 

Vivement une adaptation compatible avec le trousseau pour des connexions distantes. Dans le cas d’une connexion ssh par exemple. Pas certain que ce soit aussi simple que ça…

avatar oomu | 

@bonnepoire

il faut simplement un agent ssh qui tape dans le trousseau d'apple

à une époque, Apple fournissait cela : de base un agent ssh récupérait le mot de passe de session et s'en servait pour décrypter vos clés privées dans ~/.ssh , si chiffrées avec votre mot de passe de session.

le trousseau pourrait aisément stocker les clés elle même, les chiffrer avec votre mot de passe de session, et donner l'accès au système à votre mot de passe/passphrase via touchid

mais Apple un beau matin, a décidé d'en avoir plus rien à foutre et enleva l'agent ssh, donc ça n'a pas plus évolué, ça a régressé.

je suis donc étonné que subitement ils pensent à sudo. Probablement un ingénieur fou qu'un cadre a oublié "d'optimiser".

avatar bonnepoire | 

@ oomu
Ou un employé qui en avait besoin et en a eu marre de copier/coller. D'ailleurs ça ne fonctionne pas toujours les c/c lors du demande de mot de passe en ssh...

avatar BigBen_082 | 

@oomu

C’est ce que 1Password fait pour gérer les clés SSH stockées dans son coffre. https://developer.1password.com/docs/ssh/agent/advanced

avatar oomu | 

bonne nouvelle ça

par contre je suis outragationn..outragin...choqué par cet usage de pico et je vais de ce pas faire un pamphlet rageur sur twitt..ha mais c'est quoi ce X! Tout change ici !!!

avatar iamaware | 

Pico c'est Nano en réalité ☺️

avatar Nicolas Furno | 

@oomu

J'ai découvert récemment que nano est un alias vers pico par défaut sur macOS. Alors je me suis dit, autant utiliser directement la bonne commande pour ce tutoriel…

avatar Link1993 | 

@nicolasf

Il me semble que c'est depuis catalina et l'arrivée de zsh. Ils avaient fais pas mal de changement en parallèle, parce que originalement, nano, c'était bien nano !

avatar fleeBubl | 

@Link1993

Ça a l’air méchamment compliqué de lancer une interface graphique pour éditer un fichier… depuis le Shell :

alias ttt="open -a TextEdit"

avatar Link1993 | 

@fleeBubl

En vrai, nano (pico) est bien mieux pour éditer un fichier brut. TextEdit va par moment changer le format du fichier ouvert, en spécifiant un Unicode par exemple. Avec nano, on est sur que ça n'arrivera pas, et c'est plus simple que VIM 😅

avatar fleeBubl | 

@Link1993

Oui : toujours avoir le transcodage bien à plat, avec toutes ces tables de caractères… Un must have, pour tout bon codeur ;)P

avatar BeePotato | 

@ fleeBubl : « Ça a l’air méchamment compliqué de lancer une interface graphique pour éditer un fichier… depuis le Shell :
alias ttt="open -a TextEdit" »

Essaye : open -e

avatar fleeBubl | 

@BeePotato

– open -a TextEdit

– Essaye : open -e

Et après : open -t

avatar Nicolas Furno | 
avatar Link1993 | 

@nicolasf

En vrai, à l'usage, on voit pas la différence 😅

avatar ratz | 

ENFIN BORDEL !

avatar huexley | 

Ouiiiiiiiii \o/

avatar fleeBubl | 

Un tru…ch’t, Le truc-machin-chose, qui pourrait réconcilier le Mac av mon EMP… MON EMPREINTE

avatar marc_os | 

Cool.
J'avais raté l'info en 2017 !

avatar trollface | 

Moi ca fait longtemps qu’il h est sur arch linux avec gnome

CONNEXION UTILISATEUR