Apple hat schon alles vorbereitet
Mac-Terminal-Tipp: Touch ID für sudo-Befehle einrichten
Hin und wieder verschlägt es Mac-Anwender auch in das Terminal ihrer Maschinen. Hier lassen sich Befehle in Windeseile umsetzen, die mit Trackpad und Mauszeiger mehrere Minuten in Anspruch nehmen würden und in der bunten Benutzeroberfläche von macOS stellenweise nur schwer oder gar nicht zu realisieren sind.
Im Terminal zugange, müssen die gleichen Anwender nicht selten auch den sudo-Befehl abfeuern, um ausgewählte Kommandos mit besonderer Autorität abzusetzen.
Apple hat schon alles vorbereitet
Allerdings: Wer den sudo-Befehl im Terminal nutzt, muss anschließend sein Admin-Passwort eingeben. Dies gilt auch für Macs, die über den Fingerabdruckscanner Touch ID verfügen – also etwa für das neue MacBook Air.
Eine umständliche Entscheidung Apples, die sich mit wenigen Handgriffen deutlich bequemer gestalten lässt. Die Vorarbeit hat Apple bereits geleistet und ein sogenanntes „Pluggable Authentication Modules“ (PAM) erstellt, dessen Nutzung ihr nur noch aktivieren müsst.
Touch ID für sudo aktivieren
Öffnet dafür ein Terminal-Fenster und navigiert euch in das Verzeichnis /etc/pam.d/. Hier öffnet ihr die sudo-Datei in einem Kommandozeilen-Texteditor eurer Wahl und nutzt für diesen Eingriff selbstredend auch das sudo-Kommando. Also etwa: sudo nano sudo
Unterhalb der ersten Zeile fügt ihr die folgende Zeile ein und gebt so zu verstehen, dass euch das Touch ID-Modul zur Legitimierung des sudo-Befehls ausreicht:
auth sufficient pam_tid.so
Speichert die Datei und schließt das Terminal. Die nötigen Vorkehrungen sind nun getroffen. Bei der nächsten Nutzung des sudo-Befehls wartet der Mac jetzt auf euren Fingerabdruck und fordert euch nicht mehr auf das ellenlange Admin-Passwort einzugeben. Aber keine Sorge: Dieses lässt sich auch nach dem Eingriff weiter benutzen.
Mega! Danke!
Das geht auch per AppleWatch, über das WatchID PAM-Modul (jaja, ich weiß, LCD-Display …) auf Github.
https://github.com/biscuitehh/pam-watchid
Übrigens werden manuelle Änderungen in der pam.d Config mit jedem Systemupdate zurückgesetzt.
Hab mir dafür ein script geschrieben, welches automatisch bei Systemstart diese Datei überprüft und mittels Sudo überschreibt. Muss ich mal auf guthub hochladen und zur verfügung stellen
Haha, ich auch, aber nur manuell ausgelöst. Genauso wie für die globale „AppleLocale de_DE“ Einstellung. Habe die UI-Sprache auf Englisch, aber dadurch das Zahlen-/Währung-/Datumsformat etc. auf Deutsch. Ließ sich früher im UI setzten, geht aber glaub ich seit 10.14 nur hoch per defaults.
Und was passiert dann, wenn man sich remote per ssh eingeloggt hat? Dann wird man hoffentlich wieder nach dem Passwort gefragt.
Hab‘ gerade keinen Mac mit TouchID zur Hand, sonst würde ich‘s gleich mal ausprobieren.
Gute Frage
Für den remoten Zugriff per ssh sind Passwörter sowieso nur eine mittelmäßig gute Idee. Besser keys verwenden …
Es geht nicht um die den Login per SSH. Und in einer remote SSH Session funktioniert die im Artikel beschriebene Methode nicht. Allerdings die im Kommentar von Gummibando oben verlinkte Methode schon. Ich hab allerdings auch beide Macs im Test nebeneinander stehen, bin also mit meiner Apple Watch so oder so im Range.
Die im Artikel beschriebene Methode triggert übrigens automatisch auch die Apple Watch, d.h. auf Macs mit TouchID ist das zusätzliche PAM Modul nicht nötig.
Und danke für den Tipp, sudo benötige ich fast täglich für irgendwas.
Sorry, aber dafür kann doch Apple nix! Dass man bei sudo das Admin Kennwort eingeben ist doch Sinn der Sache. Auf jedem Unix System.
Sagt doch auch niemand- die touch-ID ist ja auch ein Kennwort…finde es ganz cool und das untergräbt auch nicht die Sicherheit- im Gegenteil sogar falls ein keylogger installiert wäre (was ja schon recht exotisch wäre) muss man das Passwort nicht eingeben und somit kann es nicht mitgeschnitten werden…
Schon klar – was ich sagen wollte: im Artikel klingt es, als wäre Apple Schuld („Eine umständliche Entscheidung Apples“) – dass man bei sudo das Kennwort eingeben muss, ist normal.
Dass Apple nun eine Möglichkeit bietet, das mit der TouchID zu machen, finde ich super. Mir ging’s nur um die Formulierung.
Leider muss man diese Einstellung nach jedem Service-Packet wieder neu machen :-(
Das funktioniert auch mit der App AppLocker :) Und die „verschließt“ nicht nur Terminal mit einem Passwort, sondern auch alle anderen Apps.
Die lässt einen aber nicht sudo per Touch ID ausführen.
Wow vielen Dank. Habe mich vorher schon gefragt warum die das dort nicht umgesetzt haben :D
Seit dem Update auf Big Sur funktioniert das so scheinbar nicht mehr,.. oder bin ich nur zu blöd?!
Hier geht’s. Eventuell nach dem Software Update noch mal machen?
Also bei mir klappt es auch nicht, bin auch auf Big Sur unterwegs. Muss ich noch irgendeine Einstellung vornehmen?
Danke
Es ist schon wichtig darauf zu achten WO die Zeile eingefügt wird.
Mag sein, ich habe es aber meiner Meinung nach definitiv eingefügt, wie im Video zu sehen war/ist.
Ich würde gern mehr über das Terminal lernen:
— habt ihr einen Tipp (Buch, Internerseite etc?