Änderungen am Mac-System vornehmen

Grundsätzliches

  • Stand: MacOS 13 Ventura
  • Die Beschreibung gilt für einen Mac mit Apple Chip.
  • Mit einem Update des Systems wird die Änderung von Apple zurückgesetzt.

Vorgehen

  • RecoveryOS booten, dort im Terminal eingeben:
	csrutil disable
	csrutil authenticated-root disable
  • Mac neustarten (bootet ins normale System).
  • Mit dem Terminal die ID des Systemvolumes ermitteln:
	bless --info --getBoot
  • Schreibbar mounten (SCHREIBBAR nicht ersetzen):
	sudo mkdir /Volumes/SCHREIBBAR
	sudo mount -o nobrowse -t apfs /dev/disk3s8 /Volumes/SCHREIBBAR
	cd /Volumes/SCHREIBBAR/
  • Nun können Änderungen am System vorgenommen werden, allerdings nur im Terminal mittel sudo.
  • Anschließend muß ein versiegelter Snapshot erstellt und zum Booten “gesegnet” werden:
	sudo bless --mount /Volumes/SCHREIBBAR/System/Library/CoreServices --create-snapshot
  • Mac neustarten. Der Mac bootet ab sofort vom eben erstellten Snapshot.
  • MacOS 11 Big Sur: Da der Snapshot nun mit einem lokalen Schlüssel signiert ist und nicht mehr mit dem von Apple, darf authenticated-root (s.o.) nicht mehr aktiviert werden! SIP hingegen kann wieder aktiviert werden. Hierzu RecoveryOS booten, dort im Terminal eingeben:
csrutil enable
  • Je nach System wird hierdurch ggf. auch authenticated-root wieder aktiviert. Man sollte daher beide Status prüfen, bevor RecoveryOS verlassen wird:
	csrutil status
	csrutil authenticated-root status
  • Ab MacOS 12 Monterey: Wenn man im Recovery Mode auf “Volle Sicherheit” zurückstellt, wird automatisch von letzten Snapshot des MacOS Installers bzw. Updaters gebootet. Deaktiviert man später wieder SIP und Authenticated-Root, wird automatisch wieder vom Snapshot des bless-Tools gebootet.

Weiteres

  • Laden von Kernel Extensions ohne Nachfrage: spctl kext-consent disable

Die folgenden Kommandos sollten nicht in RecoveryOS, sondern in einem normalen Boot ausgeführt werden:

  • GateKeeper deaktivieren: sudo spctl --global-disable bzw. wieder reaktivieren: sudo spctl --global-enable
  • Signaturprüfung für Libraries deaktivieren: sudo defaults write /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidation -bool true bzw. wieder reaktivieren: sudo defaults delete /Library/Preferences/com.apple.security.libraryvalidation.plist (Neustart erforderlich)
  • Apple Mobile File Integrity (AMFI) deaktivieren: sudo nvram boot-args="amfi_get_out_of_my_way=1" bzw. wieder reaktivieren: sudo nvram -d boot-args (Neustart erforderlich)