sudo mit Touch ID entsprerren

Wer öfters im Terminal auf dem Mac unter­wegs ist, muss manch­mal den Befehlen ein sudo vor­an­stel­len, da die­se mit Administrator aka Superuser Rechten aus­ge­führt wer­den müs­sen. sudo ver­langt dann die Eingabe des Administrator-Passworts. Auf Macs mit Touch ID ist es jedoch mög­lich, auf die Passworteingabe zu ver­zich­ten und statt­des­sen Touch ID zu ver­wen­den. Dazu muss aller­dings eine Einstellungsdatei bear­bei­tet wer­den, wobei es eine Vorgehensweise vor macOS Version 14 und eine ab Version 14 gibt.

Vor macOS 14 Somona

Vor macOS Version 14, auch Sonoma genannt, muss­te die Datei /etc/pam.d/sudo um den Eintrag

 auth sufficient pam_tid.so 

ergänzt wer­den, indem die Datei mit

sudo nano /etc/pam.d/sudo

auf­ge­ru­fen und edi­tiert wird. Natürlich kön­nen auch ande­re Editoren ver­wen­det wer­den, wobei das sudo dann eben­falls vor­an­ge­stellt wer­den muss. In nano navi­giert man mit den Pfeiltasten nach unten und fügt die obi­ge Zeile mit ⌘-V ein, natür­lich nach­dem man sie vor­her mit ⌘-C kopiert hat. Danach soll­te die Datei in nano so aus­se­hen:

Die /etc/pam.d/sudo im nano Editor

Um die Datei zu spei­chern, drückt man ⌃-X, gibt dann ‘j’ oder ‘y’ ein und bestä­tigt mit der Return-Taste. Die Änderungen sind im aktu­el­len Terminalfenster noch nicht aktiv. Um zu über­prü­fen, ob alles kor­rekt funk­tio­niert, öff­net man ein­fach ein neu­es Terminalfenster und gibt zum Beispiel sudo ls ein. Statt zur Eingabe eines Passworts auf­ge­for­dert zu wer­den, soll­te nun ein Fenster erschei­nen, das zur Authentifizierung mit­tels Fingerabdruck auf­for­dert. Legt man einen Finger auf den Sensor, wird der Befehl aus­ge­führt.

Aufforderung die Verwendung des sudo-Befehls mit der Touch ID zu erlau­ben (Bild ist aus macOS 14)

Ab macOS 14 Somona

Das Problem mit der vor­he­ri­gen Methode war, dass bei jedem macOS-Systemupdate die Änderungen in der Datei /etc/pam.d/sudo rück­gän­gig gemacht wur­den. Mit der Einführung von macOS Sonoma hat Apple eine klei­ne, aber wich­ti­ge Änderung vor­ge­nom­men. Es ist nun mög­lich, eine Datei namens /etc/pam.d/sudo_local zu erstel­len, die bei Systemupdates unver­än­dert bleibt. Apple hat zudem ein Template bereit­ge­stellt, das den erfor­der­li­chen Befehl ent­hält. Hier sind die not­wen­di­gen Schritte:

  1. Kopieren des Templates in die neue Datei:
sudo cp /etc/pam.d/sudo_local.template /etc/pam.d/sudo_local

2. Bearbeiten der neu­en Datei:

sudo nano /etc/pam.d/sudo_local

In der Datei muss das #-Zeichen vor dem Wort ‘auth’ ent­fernt wer­den. Danach schließt man den Editor mit ⌃-X und bestä­tigt die Änderungen mit ‘j’ oder ‘y’, um zu spei­chern. Auch in die­sem Fall soll­te in einem neu­en Terminal-Fenster bei der Eingabe von sudo die Abfrage zur Verwendung der Touch ID erschei­nen.

Die /etc/pam.d/sudo_local Datei, noch mit aus­kom­men­tier­ter Zeile

Ich hat­te die alte Methode bereits vor eini­ger Zeit ange­wen­det, jedoch nach meh­re­ren System-Updates nicht wie­der akti­viert. Kürzlich wur­de ich durch eine Diskussion in einem Forumsthread von Carlo Zottmann auf einen Artikel von Dan Moren auf­merk­sam gemacht, der die neue Variante in macOS 14 beschreibt.

Ein letzter Tipp

Wem pas­siert es nicht gele­gent­lich, sei es im Terminal unter macOS oder Linux: Beim Eingeben eines Befehls, der Administratorrechte erfor­dert, ver­gisst man das sudo. Hier ist ein nütz­li­cher Tipp: Mit dem Befehl sudo !! wird der zuletzt ein­ge­ge­be­ne Befehl erneut in die Befehlszeile ein­ge­fügt, dies­mal jedoch mit einem vor­an­ge­stell­ten sudo. Drückt man anschlie­ßend Return, wird der Befehl mit den not­wen­di­gen Administratorrechten aus­ge­führt.

Wie immer freue ich mich über Lob, Kritik und Korrekturen in den Kommentaren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert