Astuce Catalina : valider les commandes sudo dans le terminal avec une Apple Watch
Avec macOS Catalina, l’Apple Watch peut remplacer le mot de passe de votre session dans encore plus de cas qu’auparavant. La montre peut toujours servir à déverrouiller le Mac, mais elle peut également débloquer les préférences systèmes et même être utilisées dans des apps, comme des gestionnaires de mots de passe. Partout où Touch ID pouvait servir sur les Mac équipés du capteur d’empreintes, l’Apple Watch peut prendre le relai.
Partout, y compris dans le terminal où, en modifiant un fichier système, on pouvait utiliser Touch ID pour les commandes qui nécessitent sudo
et donc le mot de passe de session ? Oui, mais la procédure n’est plus aussi simple qu’avant, il faut compiler un outil supplémentaire, en plus de la modification du fichier système. Néanmoins, cela ne devrait pas vous faire peur si vous utilisez le terminal de macOS au quotidien et cela fonctionne extrêmement bien.
Voici la procédure à suivre pour autoriser les commandes sudo
sur votre Mac dans le terminal1 de macOS Catalina :
- Cloner le projet PAM WatchID :
git clone https://github.com/biscuitehh/pam-watchid.git
; - Ouvrir le dossier et compiler l’app :
cd pam-watchid && sudo make install
; - Modifier le fichier système
/etc/pam.d/sudo
avec les droits administrateurs :sudo nano /etc/pam.d/sudo
; - Ajouter en haut du fichier cette ligne supplémentaire, sans supprimer le reste du contenu :
auth sufficient pam_watchid.so "reason=execute a command as root"
; - Enregistrer les changements avec
ctrlX
puis la touche Y et ouvrir une nouvelle session de terminal pour confirmer que cela fonctionne.
Rappelons que cette fonction n’est pas aussi sécurisée que Touch ID, mais Apple a prévu plusieurs garde-fous pour éviter les abus. La montre ne pourra valider une opération que si elle est à proximité immédiate du Mac, et que si elle est elle-même déverrouillée, c’est-à-dire portée au poignet en continu depuis la dernière saisie du code ou bien depuis le dernier déverrouillage de l’iPhone associé en fonction de vos réglages. Si vous vous éloignez de votre ordinateur, ou bien si vous retirez la montre de votre poignet, la fonction sera automatiquement désactivée.
-
Dans n’importe quel terminal en fait : vous bénéficierez de cette fonction dans l’app Terminal fournie par Apple, mais aussi dans les apps tierces, comme iTerm. ↩
J’aimerais pouvoir débloquer le trousseau avec mon montre lorsque Safari veut pré remplir un mot de passe mais il faut d’abord rentrer son mot de passe admin.
Possible ? Merci 😊
@Ded77
Ce n'est pas possible sans intervention d'Apple. S'ils veulent proposer la fonction, ils devront mettre à jour Safari et peut-être d'autres éléments du système, mais on n'y a pas accès.
C'est l'avantage du terminal en comparaison, c'est plus souple. :-)
@nicolasf
Arf, merci pour la réponse 😉
Ça marche nickel ! Merci :D
Encore faudrait-il déjà que le déverrouillage du mac (mini 2018) avec l’apple watch refonctionne de nouveau ! Depuis la dernière version de Catalina ça ne fonctionne plus !
@tnicolas02
Moi non plus, mais ça n'est pas forcément lié à cette autre fonction de Catalina. En tout cas, de mon côté je n'ai plus de déverrouillage du Mac, mais je peux toujours accéder aux préférences et utiliser cette astuce avec sudo avec ma montre.
@tnicolas02
T’inquiète chez moi non plus ça marche pas ça 😞
Je confirme, ça concerne juste le déverrouillage de la session; et la dernière beta sortie avant Noël ne résous pas le problème
Si vous avez un problème de ce style ":0: error: unable to load standard library for target 'x86_64-apple-macosx10.15'" vous devez changer le fichier Makefile,
Rajoutez cette ligne en-dessous TARGET
> SDK = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
Changez la command qui est en-dessous de "all:" en ceci
> swiftc watchid-pam-extension.swift -o $(LIBRARY_NAME) -sdk $(SDK) -emit-library
Maintenant faites un petit coup de save
Lancez la commande "sudo make install"
Ensuite suivez la suite du tutoriel dans l'article
Voila!
Fonctionne parfaitement ! Merci !
Attention n'utiliser pas le repo en faisant le make install. Vous ne savez absolument pas d'ou vient le code et quand il pourra être modifié.
C'est une manipulation assez dangereuse.
De plus la seule modification du fichier `/etc/pam.d/sudo` suffit. Le reste est inutile.
@edition: vous pouvez vérifier de votre coté et modifier l'article? C'est étonnant de votre part de ne pas avoir vérifié cela en premier lieu