Terminal im Recovery Mode kann keine Gruppenrechte ändern??

tiftich

Mitglied
Thread Starter
Dabei seit
23.01.2019
Beiträge
68
Reaktionspunkte
5
Hallo,

Bootet man in den Recovery Mode, kennt das Terminal dort die üblichen Befehle chown und chmod zum Ändern der Benutzerrechte von Ordnern oder Dateien.
Nur der Befehl chgrp zum Ändern der Gruppenzugehörigkeit eines Objekts wird mit command not found quittiert.

Ich muss aber zwingend vom Recovery Mode aus agieren, weil ich blöderweise den Ordner /Library/Apple/ samt Inhalten rechtemäßig verändert habe, was dazu führte, dass der Rechner beim Booten die darin enthaltenen kext-Erweiterungen checkt und meckert über die veränderten Rechte. Statt das an Ort und Stelle selbst zu reparieren, bleibt das Miststück einfach in einem Bootloop hängen (Balkenmitte). Die Ursache habe ich auch nur durch einen Verbose Boot mitbekommen, da rattert stundenlang die gleiche Fehlermeldung diesen Ordner betreffend in Schleife.

Ich muss den Eigentümer auf root und die Gruppe auf wheel zurückstellen, was aber (vermeintlich) nur im Terminal des Recovery Mode geht.
Und da kam das große Kotzen, weil dort der Befehl chgrp wheel nicht bekannt ist. chgrp funktioniert nur, wenn man im normalen System-Terminal ist.
Dort ändert er aber nichts – auch wenn keine Fehlermeldungen kommen! Sind ja System-Dateien, allerdings nützt da auch sudo nix mehr…

In letzter Verzweiflung habe ich in mein altes Mojave gebootet, dort den betroffenen Ordner im Mount Monterey - Daten lokalisiert (Die Systempartition wird ja nicht erkannt), funktioniert aber trotzdem. Dort die Rechte zurückgesetzt, und siehe da: was im Recovery Mode und im übrigen auch von Sonoma aus nicht geht, darf das olle Mojave noch. Monterey fährt wieder hoch, da die Rechte wieder stimmen.

Also: Finger weg von diesem Apple-Ordner, das ist meine Erkenntnis.
Das waren wohl früher mal Kernel-Extensions, die es ja nicht mehr gibt, deswegen sind die immer noch extrem fimschig.

Aber wenn man die Rechte nicht ändert, kann man die Darstellungsoptionen für zugehörige Finder-Fenster nicht dauerhaft ändern. Mein Ordnungswahn war also schuld. Und dass man an Rechten von System-Dateien gefälligst nicht rumfummelt, oder nur, wenn man hinterher wieder alles in den ursprünglichen Zustand versetzt (wenn man kann!), weiß ich auch. Ich dachte halt, man kann…

Recovery Mode geht nicht.
Root-User geht auch nicht.
Von Sonoma aus geht auch nicht.
Von Mojave aus: geeeeht!

Aber ein olles Mojave kann ja auf Dauer nicht die Lösung sein.
Es muss doch eine Möglichkeit geben, auch in neueren OS-Versionen den Eigentümer eines Objekts (zurück) auf "root" und die Gruppe auf "wheel" zu setzen!

Wer weiß Rat?
 
Du kannst die Tools aufrufen indem du die direkt aus einem installierten MacOs aufrust.
 
IMG_6416.png
 
Indem Du den Befehl mit dem ganzen Pfad ausführst?

Im Gegensatz zu chown, das sich in /usr/sbin befindet und chmod, das sich in /bin befindet, findet sich chgrp in /usr/bin/

Code:
root# which chgrp
/usr/bin/chgrp
 
Zuletzt bearbeitet:
Ich bin von der Aussage ausgegangen: Nur der Befehl chgrp zum Ändern der Gruppenzugehörigkeit eines Objekts wird mit command not found quittiert.

Da ich erst letzte Woche einige Kommandos wie auch kextload nicht in der Recovery hatte.
 
chgrp sollte ohne Probleme durch chown ersetzbar sein . Mehr dazu -> man chown
 
  • Gefällt mir
Reaktionen: rayjoe
Wie soll dann der Befehl lauten, um die Gruppe eines Ordners samt Unterordnern auf "wheel" zu setzen, ohne "chgrp" zu benutzen?
Ich will nicht den Eigentümer ändern, und "chgrp" funktioniert im RM definitv nicht.
 
Das von Lisanet vorgeschlagene man chown im Terminal spuckt aus:
The chown utility changes the user ID and/or the group ID of the specified files.
Das klingt doch ganz verheissungsvoll.
 
  • Gefällt mir
Reaktionen: dg2rbf
Hab ich dir doch oben genannt, chown root:wheel, bzw. für alle Unterordner brauchst du es rekursiv, chown -R root:wheel. Ob es dein Problem löst ist wieder eine andere Frage, wenn das MacOS-System verändert wurde, wird es unter Umständen bis zu einer Neuinstallation gar nicht mehr booten können.
 
  • Gefällt mir
Reaktionen: ruerueka, dg2rbf und rayjoe
Indem Du den Befehl mit dem ganzen Pfad ausführst?
Sorry für das oben von mir Gepostete (kann es leider nicht mehr ändern/bearbeiten), denn chgrp ist ja überhaupt nicht im Recovery Mode mit enthalten.
 
Hab ich dir doch oben genannt, chown root:wheel, bzw. für alle Unterordner brauchst du es rekursiv, chown -R root:wheel. Ob es dein Problem löst ist wieder eine andere Frage, wenn das MacOS-System verändert wurde, wird es unter Umständen bis zu einer Neuinstallation gar nicht mehr booten können.
Und ich habe gesagt, ich will den Eigentümer nicht ändern.

Also, das hier geht ohne chgrp:
sudo chown :wheel /PfadZumOrdner -- setzt nur Gruppe auf wheel, lässt alles andere unverändert (root:wheel setzt auch Eigentümer!)
sudo chmod g-w,o-w /PfadZumOrdner -- dann wird wheel auf nur lesen gesetzt, alles andere bleibt unverändert

jetzt das Ganze noch rekursiv nur für Ordner…
 
Zuletzt bearbeitet:
-R ist kein Problem, aber nur für Ordner ist aufwendiger.

Da muss dann was mit find her:
sudo chmod g-w,o-w $(find /PfadZumOrdner -type d) -- Das macht rekursiv und nur Ordner

Jetzt muss find nur noch im RM laufen, das teste ich später…
 
sudo chmod g-w,o-w /PfadZumOrdner -- dann wird wheel auf nur lesen gesetzt, alles andere bleibt unverändert

nicht ganz: du löscht das Schreibrecht für group und other.

Je nach dem, wie vorher die Rechte waren kann das dann passen, muss es aber nicht.
 
  • Gefällt mir
Reaktionen: ruerueka und dg2rbf
Ob es dein Problem löst ist wieder eine andere Frage, wenn das MacOS-System verändert wurde, wird es unter Umständen bis zu einer Neuinstallation gar nicht mehr booten können.
Dass und wie ich das Problem gelöst habe, kannst Du ganz oben noch mal nachlesen…
 
Scheibe… im Moment funktioniert es nur für Einzelordner, weil find keine Pfade mit Leerzeichen in Objektnamen akzeptiert:

Für angegebenen Ordner (hier escaped man die Leerzeichen mit "\ ")
sudo chown :wheel /Pfad\ Zum\ Ordner -- setzt Gruppe
sudo chmod g-w /Pfad\ Zum\ Ordner -- löscht Schreibrechte wheel (= nur lesen)

Für angegebenen Ordner samt Unterordnern (mit find)
sudo find /Pfad zum Ordner -type d -exec chmod :wheel {} \; -- akzeptiert den Pfad nicht, wenn Leerzeichen enthalten sind, und :wheel auch nicht!
sudo find /Pfad zum Ordner -type d -exec chmod g-w {} \; -- akzeptiert den Pfad nicht, wenn Leerzeichen enthalten sind.

Weiß jemand, wie man in find Pfade, die Objektnamen mit Leerzeichen enthalten, rekursiv angibt?
 
Stimmt, aber für group soll es ja so sein. Kein Schreibrecht heißt nur lesen… Das für other habe ich übersehen, danke.

ja und nein.

Hast du die Rechte vorher verbastelt und bspw auf rwxr--r-- gestellt, kann group und other das Verzeichnis nicht betreten, was faktisch identisch ist, wenn du wheel komplett entfernst.
 
  • Gefällt mir
Reaktionen: dg2rbf
Hast du die Rechte vorher verbastelt und bspw auf rwxr--r-- gestellt, kann group und other das Verzeichnis nicht betreten, was faktisch identisch ist, wenn du wheel komplett entfernst
744 wäre in der Tat fatal, wenn es root:wheel ist, aber davon war ja keine Rede.

Es ging darum, dass ich in dem betroffenen System nur bestimmte Ordner mit Gruppe wheel von 755 auf 775 umstellen wollte.
Da ich mich als admin user in wheel eingetragen habe, kann ich dann schreiben.

Habe es aber vermasselt und auch die Gruppe geändert, darüber hinaus nicht nur die Ordner, sondern auch die Unterordner in Bundles. Das gab Stress beim Integrity Check beim Bootvorgang und resultierte in einem Bootloop.
Inzwischen weiß ich, dass es am Ende nur um eine einzige kext ging, deren Rechte intern nicht mehr stimmten.
Weiteres dazu steht aber ganz am Anfang…

Ich muss also - für zukünftige ähnliche Unfälle - in der Lage sein, sämtliche Unterordner eines Ausgangsordners (keine Dateien!), beispielsweise auf 775 und hinterher wieder auf 755 zu stellen. Das ist des Pudels Kern.
 
Zurück
Oben Unten