macOS Sonoma permet enfin de toujours valider la commande sudo avec Touch ID
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)
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.

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.
Alors ça pour une nouvelle !
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.
@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é.
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.
@iamaware
Ça évite aussi à ce que les gens autour de vous observe le mors de passe.
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…
@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".
@ 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...
@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
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 !!!
Pico c'est Nano en réalité ☺️
@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…
@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 !
@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"
@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 😅
@Link1993
Oui : toujours avoir le transcodage bien à plat, avec toutes ces tables de caractères… Un must have, pour tout bon codeur ;)P
@ 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
@BeePotato
– open -a TextEdit
– Essaye : open -e
Et après : open -t
@Link1993
Hi hi, le classique : j’avais écrit sur le sujet à l’époque. 😬 https://www.macg.co/logiciels/2022/03/macos-123-nest-plus-fourni-avec-nano-un-editeur-de-texte-populaire-pour-le-terminal-128093
@nicolasf
En vrai, à l'usage, on voit pas la différence 😅
ENFIN BORDEL !
Ouiiiiiiiii \o/
Un tru…ch’t, Le truc-machin-chose, qui pourrait réconcilier le Mac av mon EMP… MON EMPREINTE
Cool.
J'avais raté l'info en 2017 !
Moi ca fait longtemps qu’il h est sur arch linux avec gnome