Skip to main content

Log in to comment and vote

Comments1

  • Stefan Steuer

    Team•

    May 30

    Ist nicht so einfach möglich. Dieser wird nur einmal angezeigt und ist nicht per script auslesbar. Man müsste einen neuen Key generieren und das Adminpasswort per GUI oder Parameter übergeben, erst dann bekommt man einmalig den Key angezeigt.

    Hier ein Beispielscript mit GUI….

    #!/bin/bash # # filevault-newkey.sh # Generiert einen neuen persönlichen FileVault-Recovery-Key und zeigt ihn an. # Der alte Key wird dabei ungültig. #  set -euo pipefail  # --- root sicherstellen --- if [[ $EUID -ne 0 ]]; then  echo "Bitte mit sudo ausführen: sudo $0"  exit 1 fi  # --- FileVault-Status prüfen --- if ! fdesetup status | grep -q "FileVault is On"; then  echo "FileVault ist nicht aktiv. Abbruch."  exit 1 fi  # --- Admin-Passwort sicher einlesen --- read -rsp "Passwort des FileVault-Benutzers: " PW echo  # --- Neuen Key generieren --- OUTPUT=$(fdesetup changerecovery -personal -inputplist <<EOF <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict>  <key>Password</key>  <string>${PW}</string> </dict> </plist> EOF )  # Passwort aus dem Speicher entfernen unset PW  # --- Key extrahieren --- KEY=$(echo "$OUTPUT" | awk -F'= ' '/recovery key/{print $2}')  if [[ -z "$KEY" ]]; then  echo "Konnte keinen neuen Key ermitteln. Rohausgabe:"  echo "$OUTPUT"  exit 1 fi  echo echo "==========================================" echo " Neuer FileVault Recovery Key:" echo " $KEY" echo "==========================================" echo "Sicher notieren – der alte Key ist jetzt ungültig."

    Nutzung:

    bash

    chmod +x filevault-newkey.sh sudo ./filevault-newkey.sh

    Hinweise:

    • Das Passwort wird interaktiv abgefragt, steht also nicht im Script. Es landet kurz in der Plist im Heredoc (im Prozessspeicher) – unvermeidbar, da fdesetup es so erwartet.