Zugriffsrechte unter Mac-OS X

Das Festplatten-Dienstprogramm kann Zugriffsrechte überprüfen und reparieren. Am Wert dieser Funktion kann man aber zweifeln – vor allem, weil die Fehlermeldungen häufig mehr verwirren als aufklären.

INHALT

  • Unterschiedliche Zugriffsrechte
  • SUID-Dateien ändern
  • Die Zugriffssteuerungslisten

Mac-OS X basiert auf dem Betriebssystem Unix und dort gibt es das Konzept „Zugriffsrechte“. Ursprünglich gab es in diesem Konzept nur drei Rechte: Das Recht, eine Datei zu lesen, eine Datei zu verändern und eine Datei auszuführen; sprich: den Inhalt der Datei in den Arbeitsspeicher zu laden und den Prozessor des Rechners anzuweisen, den Inhalt der Datei als Befehle zu lesen und auszuführen.

Unterschiedliche Zugriffsrechte

Damit lässt sich die erste von drei möglichen Fehlermeldungen erklären: Das Festplatten-Dienstprogramm vergleicht die Zugriffsrechte für eine Datei (oder einen Ordner), mit den entsprechenden Einträgen in der Datenbank von Mac-OS X 10.5. Geprüft werden dabei jedoch ausschließlich Dateien und Ordner in den Verzeichnissen „System“, „Library“ und „Programme“. Stimmen die Zugriffsrechte nicht überein, sieht man beispielsweise den Hinweis: „Die Zugriffsrechte unterscheiden sich für

„/private/var/log/asl.db, Soll-Wert: -rw—, Ist-Wert: -rw-r—.“ In der Regel kann man diese und ähnliche Hinweise ignorieren. Sie sind meistens eine Folge der Nachlässigkeit der Apple-Programmierer, die die Zugriffsrechte für eine Datei neu definiert haben, aber diese Neudefinition nicht in der Datenbank gespeichert haben.

TIPP

Wer bei der Beurteilung einer solchen Fehlermeldung unsicher ist, kopiert den Dateinamen und sucht diesen Namen beispielsweise bei Google oder einer anderen Suchhilfe. Wenn die Änderung an der Datei gefährlich ist, sollten sich schnell entsprechende Hinweise im Internet finden lassen.

SUID-Dateien ändern

Eine Nebenwirkung der Übersetzung aus dem Englischen ist die Fehlermeldung „Die SUID-Datei wurde geändert und wird nicht repariert.“ Korrekt, aber ebenso unverständlich wäre: „Das Bit ‚Äöset-user-ID`“ wurde geändert und nicht korrgiert.“ Dahinter verbirgt sich ein Spezialmechanismus, den es seit den Anfangszeiten von Unix gibt: Das Merkmal „set-user-ID“ nutzt man, um eine Software im Namen eines anderen Benutzers zu starten. Denn beim Start einer Software erhält diese in der Regel die Rechte, die derjenige hat, der sie startet. In Ausnahmefällen aber benötigt eine Software zusätzliche Rechte; zum Beispiel, wenn das Programm DVD-Player den Regionalcode des DVD-Laufwerks ändern muss, was aber nur dem Benutzer „root“ erlaubt ist (der unter Mac-OS X vorhanden, aber in der Regel deaktiviert ist). Deshalb ist bei dem Hilfsprogramm setregion dieses Bit aktiviert und als Eigentümer des Hilfsprogramms „root“ eingetragen – jeder Benutzer kann das Hilfsprogramm starten, erhält dann aber dafür die Zugriffsrechte des Benutzers „root“.

TIPP

Die Fehlermeldung mit dem Hinweis auf das Bit „set-user-ID“ kann man in der Regel ebenfalls ignorieren – wer Zweifel hat, ob sich nicht doch ein Eindringling an der Rechtevergabe zu schaffen gemacht hat, sollte wie im vorigen Absatz erwähnt, den Namen der Datei im Internet suchen.

Die Zugriffssteuerungslisten

Eine „Zugriffssteuerungsliste“ (Englisch: „access control list“, kurz: „ACL“) gibt es in Mac-OS X erst seit Version 10.4 – vollständig genutzt wird diese Technik sogar erst seit Version 10.5. Apple schützt damit beispielsweise die Benutzerordner, sprich: die Unterordner von „Benutzer“. Legt man unter Mac-OS X 10.5 einen Benutzerordner an, erhält dieser Ordner automatisch den Zusatz „group:everyone deny delete“. Übersetzt: Wer nicht Eigentümer dieses Ordners ist, darf ihn nicht löschen. Das bedeutet, dass selbst der Benutzer „root“ einen Benutzerordner nicht löschen kann, solange dieser Eintrag in der Zugriffssteuerungsliste existiert (Hinweis für Profis: der Benutzer „root“ kann diesen ACL-Eintrag selbstverständlich entfernen und dann den Ordner löschen).

Im Finder sind die Zugriffssteuerungslisten nicht sichtbar; wer sich mit der Materie beschäftigen will, muss mit dem Dienstprogramm Terminal arbeiten. Der folgende Befehl macht die Listen sichtbar (entscheidend ist der Buchstabe „e“ am Ende)

ls . -lae

drwx—@ . 18 . dau . dau . 612 . 6 . Nov. 17:31 . Pictures

0: . group:everyone . deny . delete

Die zweite Zeile ist der Eintrag für den Ordner „Bilder“ (Englisch: „Pictures“); die Zeile darunter ist die erwähnte Zugriffssteuerungsliste, mit der Mac-OS X verhindert, dass dieser Ordner von jemand anderem außer dem Eigentümer gelöscht wird.

TIPP

Wie die zuvor erwähnten Fehlermeldungen sieht man den Hinweis auf Fehler in den Zugriffsteuerungslisten in der Regel nur dann, wenn die Entwickler von Apple nachlässig waren oder man selbst die Zugriffsrechte an dieser Datei oder diesem Ordner verändert hat. Bei Zweifeln empfehlen wir eine Internet-Suche mit dem Dateinamen, der in der Fehlermeldung des Festplatten-Dienstprogramms genannt wird.

Fazit

Apple hat also Recht: Die meisten Fehlermeldungen des Festplatten-Dienstprogramms kann man ignorieren. Warum das so ist, versteht man allerdings erst, wenn man sich intensiv mit dem Thema Zugriffsrechte auseinandergesetzt hat.