Dateien werden von Usern/Prozessen nach einer bestimmten Maske angelegt. Normal für einen Benutzer ist umask 0022, das entspricht den Zugriffsrechten rw-r--r-- für Dateien bzw. rwxr-xr-x für Ordner, Eigentümer ist derjenige, der die Datei angelegt hat (z.B. 501 für den ersten Benutzer), Gruppe ist dessen Hauptgruppe (20 = staff).
Wenn jetzt z.B. ein Programm durch Kopieren in den Applications-Ordner installiert wird, bekommen alle Dateien die Zugriffsrechte nach dieser Maske. Manche Installationsprogramme geben den Dateien auch ganz leichtfertig die volle Zugriffsrechte für jederman rwxrwxrwx. Ein Programm sollte aber dem System gehören (Eigentümer 0 = root, Gruppe 80 = admin) und dessen Dateien sollten Zugriffsrechte rw-rw-r-- besitzen, abgesehen von der Binär-Datei in Contents/MacOS, welche ausführbar sein, also die Rechte rwxrwxr-x besitzen sollte.
Das wird beim Zugriffsrechte reparieren geändert. Da so ein Programm meist aus hunderten Dateien besteht und für den falschen Eigentümer, die falsche Gruppe und die falschen Zugriffsrechte, sowie für die Korrektur von Benutzer und Gruppe, und der Zugriffsrechte jeweils eine Meldung ausgegeben wird (also bis zu 5 Meldungen pro Datei), gibt es schon für ein eiziges Programm eine riesige Latte von Meldungen.
Außerdem werden im Betrieb bestimmte Dateien neu angelegt oder verändert. Neu angelegte Dateien bekommen die Zugriffsrechte nach der Maske, falls der Prozess, der die Datei anlegt die Zugriffsrechte nicht anpasst. Das Festplatten-Dienstprogramm scheint aber bei bestimmten Dateien anderer Meinung über die korrekten Zugriffsrechte dieser Dateien zu sein, also ändert es diese. Prozesse, die mit root-Rechten laufen können die Zugriffsrechte ändern, wenn sie die Datei verändern wollen/müssen. Wenn der Prozess die Rechte danach nicht wieder richtig einstellt, dann muss das Festplatten-Dienstprogramm das halt erledigen.
Desweiteren können sich Fehler ins Dateisystem einschleichen, dort werden nämlich die Zugriffsrechte gespeichert. Das ist eine ganz normale Sache, an der auch prinzipiell nichts geändert werden kann (das ist auch bei allen Dateisystemen so, wie auch bei anderen Datenbanken mit vielen Einträgen (*) ). Wenn Daten häufig verändert werden, können sich Fehler einschleichen, je größer die Datenmenge und je häufiger die Änderungen, desto wahrscheinlicher sind Fehler. Eine Mac OS X Installation besteht aus ca. 30000 Dateien, also gibt es 30000 Einträge im Dateisystem...
Das Festplatten-Dienstprogramm passt übrigens nur die Zugriffsrechte der Dateien an, die in der Installation von Mac OS X enthalten sind. Über die richtigen Zugriffsrechte von anderen Programmen etc. weiß es nichts und repariert sie deshalb auch nicht. Die Benutzerordner bleiben eh prinzipiell unangetastet.
Original geschrieben von norbi
Das Frage ich mich auch schon ewig, auch ob das Problem in Panther endlich verschwinden wird.
.ut weiß das bestimmt...
Ganz sicher wird es mit Panther nicht verschwinden.
(*) Daher ist die Registry in Windows auch ein grundlegender Designfehler, das kann nicht gutgehen