Start
Die
Einstellungskarte ACL-Rechte
Einführung
Jede Datei und jeder Ordner, die über Ihren Computer zugänglich sind, sind
mit einer bestimmten Menge von Rechten verbunden, die festlegen, welche Benutzer
welche Vorgänge mit diesen Objekten vornehmen dürfen, z.B. den Inhalt einer
Datei zu lesen, oder eine Datei aus einem Ordner zu entfernen. Diese Menge
von Rechten, die mit einem Dateisystemobjekt verbunden sind, werden Berechtigungen oder
Zugriffsrechte genannt. Mac OS X verwendet sowohl die klassischen
Berechtigungen, die auf jedem UNIX-System zu finden sind, die sogenannten POSIX-Berechtigungen,
als auch eine erweiterte Menge von berechtigungsähnlichen Markierungen, die
sogenannten Speziellen
Rechte und eine fortgeschrittene Menge von Rechtedefinitionen, die von
Microsoft® Windows, den meisten modernen UNIX-Systemen und vielen anderen Betriebssystemen
verwendet werden, die Zugriffssteuerungslisten, nach dem englischen
Fachbegriff
Access Control Lists auch ACLs abgekürzt. ACLs werden auch
POSIX.1e-Berechtigungen genannt, da sie sich ähnlich zu einem Normentwurf
mit dem Namen POSIX.1e verhalten, der ursprünglich dazu geplant war,
eines Tages zum industrieweiten Standard für Berechtigungen zu werden. Die
1e-Dokumente sind allerdings aus verschiedenen Gründen offiziell zurückgezogen
worden, so dass es eigentlich keine Norm mit diesem Namen gibt. Trotzdem enthält
der 1e-Entwurf sehr gute Ideen, so dass Berechtigungen, die den Absichten von
1e sehr ähnlich sind, heute in den meisten Betriebssystemen vorhanden sind.
Sie sollten allerdings in Erinnerung halten, dass sich die genaue Bedeutung
von ACL-Berechtigungen zwischen verschiedenen Betriebssystemanbietern leicht
unterscheiden kann.
POSIX-Berechtigungen
Die minimale Menge von Berechtigungsdefinitionen, die auf allen UNIX-Systemen
und vielen anderen Betriebssystemen zum Einsatz kommt, die sich an die POSIX-Norm
(IEEE 1003) halten, basiert auf drei vordefinierten „Parteien“, denen Rechte
gewährt werden können:
- dem Eigentümer des Objekts: Standardmäßig wird derjenige
Benutzer, der ein Objekt anlegt, automatisch dessen Eigentümer.
- dem Gruppeneigentümer des Objekts: eine benannte Gruppe
von Benutzern, die ebenso als spezielle Eigentümer des Objekts betrachtet
werden. Auf einem UNIX-System muss jeder Benutzer Mitglied mindestens einer
Benutzergruppe sein. Obwohl ein Benutzer Mitglied vieler verschiedener Gruppen
sein kann, hat sie oder er immer eine bevorzugte Gruppe, die Primärgruppe genannt
wird. Standardmäßig wird die Primärgruppe desjenigen Benutzers, der das Objekt
anlegt, automatisch dessen Gruppeneigentümer.
- allen anderen Benutzern: diese Zugriffspartei ist als
der „Rest“ definiert, nämlich alle verbleibenden Benutzer, die weder Eigentümer,
noch Mitglied der Gruppeneigentümergruppe sind. Alle nicht identifizierten
Benutzer, zum Beispiel Benutzer von anderen Computern im Internet, die noch
nicht über ihren Namen und Kennwort identifiziert wurden (oder überhaupt
nicht identifiziert werden können), werden automatisch als Benutzer eines
besonderen Benutzer-Accounts mit dem Namen unknown (unbekannt)
angesehen, der zusätzlich Mitglied einer Primärgruppe ist, die ebenso unknown heißt.
Das heißt, dass alle anderen Benutzer, egal ob das Betriebssystem diese identifizieren
konnte oder nicht, in die Kategorie Andere einzuordnen sind.
Diese zugreifende Partei bezieht sich in der Tat auf „den Rest der Welt“.
Apple bezeichnet diese dritte Kategorie mit dem Begriff Jeder oder Everyone.
Leider ist diese Bezeichnung falsch, da diese Kategorie ausdrücklich nicht
den Eigentümer und kein Mitglied der Primärgruppe einschließt. Falls Sie über
den Finder „Jedem“ ein Recht gewähren oder verweigern, sind diese Benutzer
nicht eingeschlossen, was nicht unbedingt der Bedeutung des Begriffs Jedem
entspricht. Aus diesem Grund verwendet TinkerTool System nur die korrekte Bezeichnung
Andere.
Für jede der drei Kategorien können die folgenden Zugriffsrechte gewährt werden:
- Lesen: die Berechtigung ein Objekt zu öffnen und dessen
Inhalt zu lesen.
- Schreiben: die Berechtigung, dieses Objekt zu schreiben,
was einschließt, es anzulegen, den Inhalt zu verändern, Daten hinten anzuhängen,
usw.
- Ausführen: die Berechtigung, dieses Objekt auszuführen.
Bei Programmen heißt das, dass die jeweilige Partei tatsächlich das Programm
starten und laufen lassen darf, bei Ordnern heißt das, dass den betreffenden
Benutzern erlaubt wird, den Inhalt des Ordners zu durchqueren.
Beachten Sie, dass diese Berechtigung auch die Eigenschaft einer Markierung
aufweist, die es erlaubt, zwischen ausführbaren und nicht ausführbaren Dateien
zu unterscheiden, d.h. zwischen Programmen und anderen Datendateien.
Falls eines dieser Rechte einem Benutzer nicht ausdrücklich erteilt wird,
bedeutet das, dass dieser Benutzer keine Erlaubnis für einen Zugriff hat. Das
Recht wird verweigert, obwohl in diesem Modell keine ausdrücklichen Verbote
vorgesehen sind.
Standardmäßig legen Programme Dateien mit den folgenden Berechtigungseinstellungen
an:
- der aktuelle Benutzer wird Eigentümer und hat Lese- und Schreibberechtigung,
- die aktuelle Primärbenutzergruppe wird Gruppeneigentümer und hat Leseberechtigung,
- alle Anderen haben Leseberechtigung.
- Falls das Objekt ein Programm oder einen Ordner darstellt, werden zusätzlich
Ausführungsrechte für Benutzer, Gruppe und Andere gewährt.
Programme können bestimmten Dateien weniger Rechte gewähren, wenn sie dazu
programmiert sind, sich so zu verhalten. Beispielsweise ist ein E-Mail-Programm
so konstruiert, dass es „weiß“, dass ein neues Mail-Postfach vertraulich behandelt
werden sollte, so dass es keine Berechtigungen für eine Gruppe oder Andere
erteilt, wenn es einen Postfachordner anlegt. Nur der Eigentümer sollte in
diesem Fall Lese- und Schreibrecht haben.
Zusätzliche Berechtigungsmarkierungen
Mac OS X unterstützt des weiteren gewisse spezielle Berechtigungseinstellungen.
Sie sind auf den meisten anderen UNIX-Systemen ebenso vorhanden.
- die SUID-Einstellung: SUID ist die Abkürzung für „set
user identification“, also „setze Benutzeridentifikation“. Unter normalen
Umständen hat jedes Programm, das von einem gewissen Benutzer gestartet wird,
die Rechte dieses Benutzers. (Genau genommen ist ja das Starten und Laufenlassen
von Programmen genau das, was ein Benutzer mit einem Computer tut, so dass
der Satz „Benutzer A hat das Recht, den Vorgang B durchzuführen“ in Wirklichkeit
bedeutet, „alle Programme, die von Benutzer A gestartet werden, haben das
Recht, den Vorgang B durchzuführen“.) Die SUID-Einstellung erlaubt, dass
bestimmte markierte Programme von dieser Grundregel abweichen. Falls eine
SUID-Markierung für ein Programm gesetzt ist, heißt das „beim Lauf soll das
Programm die Rechte seines Eigentümers haben, und nicht die Rechte des Benutzers,
der das Programm gestartet hat“. Solch eine Ausnahmeregel wird für sehr spezielle
Fälle benötigt, in denen kleine, eingeschränkte Programme Zugang zu Systembestandteilen
erlangen müssen, die normalerweise geschützt sind. Wenn ein Benutzer beispielsweise
sein Kennwort ändern möchte, muss das Programm, das diesen Vorgang durchführt,
vorübergehend das Recht haben, die Datei zu ändern, die alle verschlüsselten
Kennworte enthält, obwohl — in allen anderen Fällen — kein Benutzer jemals
die Erlaubnis hat, diese Datei über „normale“ Programme zu lesen, geschweige
denn zu schreiben. Die Verwendung der SUID-Markierung sollte auf sehr spezielle
Fälle beschränkt sein. Sehr ernste Sicherheitsprobleme können auftreten,
wenn die SUID-Markierung missbraucht wird.
- die SGID-Markierung: SGID ist die Abkürzung für „set group
identification“, also „setze Gruppenidentifikation“. Im Prinzip ist dies
das gleiche wie bei der SUID-Markierung, nur dass sie sich hier nicht auf
den Benutzer und Dateieigentümer bezieht, sondern auf die Benutzergruppe
und den Gruppeneigentümer.
- die Sticky-Markierung: Diese Markierung wurde ursprünglich
dazu verwendet, um residente Programme kennzuzeichnen, d.h. Programme, die
immer „im RAM kleben bleiben sollten“ (engl. sticky heißt klebrig)
und nicht aus dem Speicher entfernt werden durften, selbst wenn das Programm
beendet wurde. Bei Programmen, die sehr oft benutzt wurden, konnte dies zu
Geschwindigkeitsverbesserungen führen, denn das Programm konnte bei späteren
Starts direkt aus dem Speicher loslaufen und musste nicht mehr von Platte
geladen werden. In heutigen Computern sind solche Mechanismen jedoch üblicherweise
kontraproduktiv. Aus diesem Grund ergibt es keinen Sinn mehr, diese Markierung
für Programme einzusetzen. Die Sticky-Markierung hat jedoch eine andere Bedeutung,
wenn sie auf Ordner angewandt wird und dieser Aspekt wird auch von Mac OS
X unterstützt: Ein Ordner, bei dem die Sticky-Markierung eingeschaltet ist,
wird zu einem „Nur-Hinzufüge-Ordner“, oder genauer, zu einem Ordner, bei
dem die Löschung von Dateien eingeschränkt wird. Eine Datei in einem Sticky-Ordner
kann nur dann von einem Benutzer entfernt oder umbenannt werden, wenn der
Benutzer Schreibrecht für den Ordner hat und gleichzeitig entweder Eigentümer
der Datei oder Eigentümer des Ordners ist. Die Sticky-Einstellung wird üblicherweise
für „öffentliche“ Systemordner verwendet, wo zwar Jeder Schreibrecht haben
sollte, jedoch Benutzer nicht das Recht haben dürfen, sich gegenseitig die
Dateien zu löschen.
Zugriffssteuerungslisten
Einführung
Zugriffssteuerungslisten, auf Englisch Access Control
Lists oder kurz ACLs,
sind eine Ergänzung zu den vorhandenen POSIX-Berechtigungen, d.h. Sie müssen
ACLs nicht unbedingt nutzen, wenn Sie diese nicht
brauchen. Die althergebrachten Regeln für Zugriffsrechte, die oben skizziert
wurden, gelten auch weiterhin, nur einige Zusatzregeln können auf Wunsch
hinzugefügt werden.
Technisch gesehen ist eine Zugriffssteuerungsliste eine Liste einzelner Zugriffsrechte,
die an ein Dateisystemobjekt angeknüpft werden kann. Die ACL kann entweder
leer sein — in diesem Fall gelten nur die herkömmlichen POSIX-Rechte — oder
sie kann ein oder mehrere Objekte enthalten, die Zugriffssteuerungseinträge (Access Control Entries oder ACEs) genannt werden. Ein Zugriffssteuerungseintrag
enthält die folgenden Daten:
- auf welche Benutzer bezieht sich dieser Eintrag (dies kann ein
einzelner Benutzer oder eine Benutzergruppe sein)?
- erlaubt oder verweigert dieser Eintrag den Zugriff?
- welche Rechte werden im Detail erlaubt, bzw. verweigert?
- wie soll dieser Eintrag von einem Ordner auf den Inhalt dieses Ordners vererbt werden?
ACL-Rechte
Zugriffssteuerungslisten erlauben die Definition von 13 einzelnen Zugriffsrechten
auf ein Dateisystemobjekt:
- Daten lesen / Ordnerinhalt auflisten: das Recht, Daten
aus einer Datei zu lesen oder den Inhalt eines Ordners aufzulisten.
- Datei ausführen / Ordner durchqueren: das Recht,
eine Datei als Programm auszuführen oder — falls es sich um einen Ordner
handelt — das Recht, diesen Ordner zu durchqueren, um einen enthaltenen Ordner
zu öffnen.
- Attribute lesen: das Recht, die Attribute einer Datei
oder eines Ordner zu lesen, z.B. das Erstellungsdatum.
- Erweiterte Attribute lesen: das Recht, erweiterte
Attribute einer Datei oder eines Ordners zu lesen. Erweiterte Attribute sind
beispielsweise Spotlight-Kommentare oder die Quarantänedaten einer Datei.
- Zugriffsrechte lesen: das Recht, die Zugriffsberechtigungen
einer Datei oder eines Ordners zu lesen.
- Daten schreiben / Dateien anlegen: das Recht, Daten in
eine Datei zu schreiben oder — falls es sich um einen Ordner handelt — das
Recht, eine neue Datei in diesem Ordner anzulegen.
- Daten anhängen / Ordner anlegen: das Recht, zusätzliche
Daten an eine Datei anzuhängen oder — falls es sich um einen Ordner
handelt — das Recht, einen neuen Ordner in diesem Ordner anzulegen.
- Attribute schreiben: das Recht, die Attribute einer Datei
oder eines Ordners zu schreiben, z.B. das Erstellungsdatum.
- Erweiterte Attribute schreiben: das Recht, erweiterte
Attribute einer Datei oder eines Ordners zu schreiben. Erweiterte Attribute
sind beispielsweise Spotlight-Kommentare oder die Quarantänedaten einer Datei.
- Löschen: das Recht, diese Datei oder diesen Ordner
zu löschen.
- Unterordner und Dateien löschen: wenn es sich um
einen Ordner handelt, das Recht, darin enthaltene Objekte zu löschen.
- Zugriffsrechte ändern: das Recht, Zugriffsrechte
für diese Datei oder diesen Ordner zu ändern.
- Eigentümer ändern: das Recht, den Eigentümer
dieser Datei oder dieses Ordners zu ändern.
Diese Rechte können in jeder beliebigen Kombination zusammengestellt
werden.
ACL-Vererbungseinstellungen
Jeder Zugriffssteuerungseintrag kann zusätzliche Informationen darüber
enthalten, wie dieser Eintrag an Objekte tiefer in der Dateisystemhierarchie
vererbt werden soll, z.B. an eine Datei in einem Ordner, der in einem anderen
Ordner liegt. Der Ordner an der Spitze kann mit einer Zugriffssteuerungsliste
ausgestattet sein, die automatisch an Objekte in diesem Ordner vererbt wird.
Vererbung findet nur dann statt, wenn Objekte neu angelegt
werden. Wenn zum Beispiel eine Datei B in einem Ordner A angelegt wird, dann
erbt die Datei B nur in diesem Moment Zugriffssteuerungseinträge von A.
Wenn jemand die Berechtigungen für B zu einem späteren Zeitpunkt ändert,
wird das System nicht automatisch eine erneute Vererbung von A an B erzwingen.
Wenn jemand jedoch eine Einstellung des Ordners A ändert und diese Einstellung
zur Vererbung markiert ist, werden die Änderungen an die Objekte, die
ursprünglich Einstellungen von A geerbt haben, weitergereicht.
Es gibt 4 verschiedene Einstellungen, die steuern, wie die Rechte von Zugriffssteuerungslisten
vererbt werden:
- auf diesen Ordner anwenden: die ACL-Berechtigungseinstellungen
sollen auf den Ordner selbst wirksam werden.
- auf Unterordner anwenden: die ACL-Berechtigungseinstellungen
sollen auf Ordner vererbt werden, die sich im aktuellen Ordner befinden.
- auf enthaltene Dateien anwenden: die ACL-Berechtigungseinstellungen
sollen auf Dateien vererbt werden, die sich im aktuellen Ordner befinden.
- auf alle Unterordnerebenen anwenden: Die Vererbung von
ACL-Berechtigungseinstellungen soll nicht auf der Ebene des aktuellen Ordners
stoppen, sondern auch auf allen tieferen Ebenen von verschachtelten Ordnern
wirksam werden.
Es gibt 16 mögliche Kombinationen dieser Einstellungen, von denen aber
nur 12 in der Praxis wirklich sinnvoll sind.
Geerbte und explizite Einstellungen
Da Einstellungen in Zugriffssteuerungseinträgen von Ordner auf Objekte,
die in ihnen enthalten sind, vererbt werden können, muss das System nachverfolgen,
welche Zugriffssteuerungseinträge in einer Zugriffssteuerungsliste vererbt
worden sind und welche nicht. Nur Zugriffssteuerungseinträge, die nicht
geerbt wurden, können geändert werden. Nicht geerbte Einträge
werden explizite Einträge genannt. Um einen geerbten Eintrag
zu ändern, ist es entweder nötig, den Eintrag auf derjenigen Elternebene
zu ändern, von der aus er vererbt worden ist, oder die Zugriffssteuerungsliste
für dieses Objekt zu löschen (und damit die Vererbung zu unterbrechen),
und danach die vererbten Einträge durch explizite zu ersetzen.
Die Auswertungsregeln für Zugriffssteuerungseinträge
Wie schon erwähnt besteht eine Zugriffssteuerungsliste aus einer Reihe
von Zugriffssteuerungseinträgen. Gewisse Regeln legen fest, wie Mac OS
X diese Einträge auswertet, wenn ein bestimmter Benutzer auf ein Objekt
im Dateisystem zugreifen möchte. Beachten Sie, dass Zugriffssteuerungseinträge
sich auch widersprechen können. Wenn Benutzer A beispielsweise auf Datei
B zugreifen darf, aber A gleichzeitig Mitglied einer Benutzergruppe ist, der
der Zugriff auf die Datei B verweigert wird, liegt ein Widerspruch vor, der
aufgelöst werden muss. Es gelten die folgenden Regeln:
- Die Zugriffssteuerungseinträge in einer Zugriffssteuerungsliste werden
von oben nach unten abgearbeitet. Der erste Zugriffssteuerungseintrag, der
auf den jeweiligen Benutzer passt, „gewinnt“ und gewährt dementsprechend
Zugriff oder verweigert ihn.
- Die herkömmlichen POSIX-Berechtigungen werden geprüft, nachdem
die ACL verarbeitet wurde. Wenn ein Dateisystemobjekt keine Zugriffssteuerungsliste
besitzt, dann gelten nur die POSIX-Berechtigungen.
Wichtige Empfehlungen
Zugriffssteuerungslisten sind ein leistungsfähiges Werkzeug, um bestimmte
Berechtigungen fein gegliedert vergeben zu können. Sie sollten allerdings
im Auge behalten, dass Zugriffssteuerungslisten sehr komplex sind.
Es gibt 13 unterschiedliche Rechte,
die gewährt oder verweigert werden können und 12 verschiedene Arten,
die Vererbung zu definieren. Daraus ergibt sich eine Summe von 2^13 * 12
= 98.304 unterschiedlichen Begriffen von Zugriffsrechten, die Sie definieren
können.
Jedes dieser fast 100.000 Zugriffsrechte kann auf einen Benutzer oder eine
Benutzergruppe angewandt werden, um daraus einen Zugriffssteuerungseintrag
zu erstellen und eine fast unbegrenzte Anzahl von Zugriffssteuerungseinträgen
kann zu einer Zugriffssteuerungsliste zusammengestellt werden. Jeder Datei
und jedem Ordner Ihres Systems kann eine unterschiedliche Zugriffssteuerungsliste
zugewiesen werden, so dass die Wartung aller dieser Einträge leicht in
einem Albtraum enden kann. Aus diesem Grund sollten Sie mit Zugriffssteuerungslisten
nur mit größter Sorgfalt arbeiten.
- Verwenden Sie Berechtigungseinstellungen über Zugriffssteuerungslisten
nur dann, wenn es notwendig ist, d.h. nur dann, wenn es ein Berechtigungsproblem
gibt, das mit konventionellen POSIX-Berechtigungen nicht gelöst werden
kann.
- Verwenden Sie so wenig Benutzergruppen wie möglich. Überorganisieren
Sie Ihre Benutzer nicht.
- Vermeiden Sie es, Zugriffssteuerungseinträge für Benutzer zu
erstellen. Falls möglich, wenden Sie sie auf Benutzergruppen an.
- Falls Sie bestimmte Dateien schützen wollen, verwenden Sie POSIX-Berechtigungen,
um sehr eingeschränkte Zugriffsrechte zu definieren, und definieren
danach so wenig Zugriffssteuerungseinträge wie möglich, um denjenigen
Benutzergruppen Berechtigungen zu gewähren, die Zugriff haben sollen.
- Verwenden Sie Vererbung, wann immer es möglich erscheint. Wenn Sie
Berechtigungen vererben, brauchen Sie nur eine kleine Anzahl von Zugriffssteuerungslisten
für ein paar übergeordnete Ordner zu warten.
- Vermeiden Sie die Zugriffssteuerungseinträge des Typs „Verweigern“.
Verbote können unerwartete Nebenwirkungen haben. Sie könnten unbeabsichtigt
selbst das Zugriffsrecht für einige Objekte verlieren, oder noch schlimmer,
außerdem das Recht verlieren, diese Einschränkung wieder aufheben
zu können.
- Wenden Sie Zugriffssteuerungseinträge niemals auf Teile von Mac OS
X an und versuchen Sie nicht, die Zugriffsrechte auf Systemdateien zu verändern.
Der Computer könnte unbenutzbar werden.
Dateisysteme, die Zugriffssteuerungslisten unterstützen
Zugriffssteuerungslisten können nur auf Dateisystemen verwendet werden,
die sie auch speichern können. Mac OS X erlaubt die Verwendung von ACLs
auf den folgenden Dateisystemen, unter der Voraussetzung, dass die Computer,
die diese Dateisysteme beherbergen, eine Betriebssystemversion einsetzen, die
generell mit ACLs umgehen kann:
- Platten-Volumes, die mit dem System Mac OS Extended (HFS+) formatiert sind,
- Netz-Volumes, auf die mit dem Apple-Filing-Protokoll (AFP, AppleShare)
zugegriffen wird,
- Netz-Volumes, auf die mit dem SMB/CIFS-Protokoll (Microsoft® Windows)
zugegriffen wird,
- Netz-Volumes, auf die mit dem NFS-Protokoll Version 4 (UNIX-Systeme, nur
verfügbar mit Lion) zugegriffen wird.
Andere Dateisysteme, einschließlich Platten-Volumes, die unter Verwendung
von UFS, FAT, VFAT, FAT32, NTFS oder ZFS formatiert wurden, oder Netz-Volumes,
auf die mit NFSv2, NFSv3, FTP oder WebDAV zugegriffen wird, können Zugriffssteuerungslisten
nicht unterstützen. Über eine Dateiserver-Verbindung hinweg ACLs nicht
unterstützen zu können, bedeutet, dass der Client-Computer die auf dem Server
gespeicherten ACLs nicht „sehen“ oder ändern kann. Wenn der Server jedoch in
der Lage ist, ACLs auf seiner Seite zu verwenden, wird er diese beachten, egal
ob der zugreifende Computer dies bemerkt oder nicht.
Zugriffsrechte zeigen oder einstellen
Anzeigen von Berechtigungen
TinkerTool System kann die vollständige Menge von POSIX- und ACL-Zugriffsrechten
anzeigen, die zurzeit für eine bestimmte Datei oder einen bestimmten Ordner
eingestellt sind. Die Berechtigungen werden in einer übersichtlichen Tabelle
angezeigt, in der die Einträge in der Reihenfolge angeordnet sind, wie sie
auch zur Bestimmung der Wirksamkeit vom System ausgewertet werden. Die Tabelle
wird auch dazu verwendet, die Berechtigungseinstellungen zu ändern.
Der Finder von Mac OS X ist nicht in der Lage, die „wahren“
Berechtigungseinstellungen eines Dateisystemobjekts zu zeigen. Aufgrund mehrerer
Konstruktionsfehler wird im Abschnitt Sharing & Zugriffsrechte des
Dialogfensters Informationen des
Finders nur eine sehr vereinfachte oder sogar falsche Zusammenfassung der Berechtigungseinstellungen
gezeigt. TinkerTool System zeigt dagegen die wahren Einstellungen an, wie sie
vom Kernbetriebssystem definiert und gespeichert werden. Aus diesem Grund können
einige Berechtigungsdetails sich bei der Anzeige in beiden Programmen voneinander
unterscheiden. In solch einem Fall sollten Sie der Anzeige des Finders nicht
trauen.
Um die aktuellen Berechtigungseinstellungen eines Dateisystemobjekts anzuzeigen
oder zu ändern, führen Sie die folgenden Schritte durch:
- Öffnen Sie den Karteireiter Zugriffsrechte zeigen oder einstellen auf
der Einstellungskarte ACL-Rechte.
- Ziehen Sie eine Datei oder einen Ordner aus dem Finder in das Feld Datei
oder Ordner. Sie können auch den Knopf […] drücken,
um zum Objekt zu navigieren oder auf die weiße Fläche klicken und den UNIX-Pfad
des Objektes eingeben.
- Die aktuellen Einstellungen werden in der Tabelle angezeigt.
Überschriftenzeilen in der Tabelle geben an, welche Rechte ACEs einer ACL
darstellen und welche auf konventionellen POSIX-Einstellungen beruhen. Die
Spalten enthalten die folgenden Informationen:
- den Benutzer oder die Gruppe, für die ein Eintrag wirksam wird,
- der Typ des Eintrags, und zwar ob er den Zugriff erlaubt oder verweigert,
- die Berechtigungseinstellung in einfachen Worten,
- eine Markierung, ob der Eintrag geerbt oder explizit ist,
- die Vererbungseinstellungen.
Falls eine Berechtigung als Angepasst angezeigt
wird, bedeutet das, dass sich die Rechte nicht mit einfachen Worten wie Nur
Lesen beschreiben
lassen. Erinnern Sie sich daran, dass es 98.304 verschiedene Begriffe von Berechtigungen
geben kann, die sich durch Kombination von ACL-Rechten definieren lassen. Um
die 13 Detailrechte und 4 Vererbungseinstellungen (für Ordner) genauer zu sehen,
doppelklicken Sie auf eine Tabellenzeile. Sie können alternativ auch auf den
Knopf mit dem Stiftsymbol unterhalb der Tabelle drücken.
Ändern von Berechtigungen
Nachdem Sie ein Objekt ausgewählt haben und TinkerTool System dessen Berechtigungseinstellungen
in der Tabelle anzeigt, können alle Aspekte der Einstellungen geändert werden.
Nachdem Sie alle gewünschten Änderungen vorgenommen haben, können Sie den Knopf
Anwenden in der rechten unteren Ecke drücken, um die aktuellen
Einstellungen abzuspeichern. Der Knopf Rückgängig verwirft dagegen
alle Änderungen, die Sie gemacht haben und TinkerTool System kehrt wieder zu
den ursprünglichen Einstellungen zurück, die für das in Frage kommende Objekt
zurzeit gespeichert sind.
Falls Sie den Typ eines Eintrags ändern möchten oder das Zugriffsrecht auf
eines der einfachen Standardkonzepte ändern möchten, können Sie dies über die
Aufklappmenüs in den jeweiligen Tabellenspalten erreichen.
Um den Benutzer oder die Gruppe eines Eintrags zu ändern, führen Sie die folgenden
Schritte durch:
- Doppelklicken Sie die entsprechende Zeile in der Tabelle oder wählen Sie
die Zeile aus und drücken Sie den Knopf mit dem Stift.
- Drücken Sie im Detailfenster den Knopf Einstellen … am oberen Rand.
- Wählen Sie im neuen Dialogfenster entweder Benutzer oder Gruppen (falls
zutreffend).
- Wählen Sie einen Benutzer oder eine Gruppe aus der Tabelle aus und drücken
Sie den Knopf OK.
- Betätigen Sie im Detailfenster den Knopf Schließen.
Der Zugriffstyp und die Detailrechte können auf die gleiche Art und Weise
geändert werden. Beachten Sie, dass das Detailfenster die Rechte und Vererbungseinstellungen
in vier Kategorien gruppiert. Sie können alle Rechte einer Kategorie gleichzeitig
ein- oder ausschalten, indem Sie das entsprechende Häkchen in der jeweiligen
Gruppenüberschrift ändern. Alle Rechte einer ACE einzuschalten ist außerdem
über den Punkt Vollzugriff im Klappmenü Zugriffsrecht möglich.
Die Vererbungseinstellungen werden in diesem Fall auf Standardwerte gesetzt.
Um einen Zugriffssteuerungseintrag hinzuzufügen, drücken Sie den Knopf [+] unter
der Tabelle. Um einen oder mehrere ACEs zu entfernen, verwenden Sie den Knopf
[-]. Um eine ACL umzusortieren, ziehen Sie eine Zeile aus dem
ACE-Bereich der Tabelle und legen diese an einer neuen Position ab. Beachten
Sie, dass Objekte grundsätzlich wohldefinierte POSIX-Berechtigungen haben und
dass POSIX-Berechtigungen immer in der vordefinierten Reihenfolge Benutzer-Gruppe-Andere
ausgewertet werden, so dass es nicht möglich ist, Zeilen unterhalb der POSIX-Überschrift
zu entfernen oder umzusortieren.
Zusätzliche Operationen
Zusätzliche Operationen können durchgeführt werden, indem Sie einen der Punkte
im Klappmenü Operationen am unteren Rand des Fensters wählen.
Die Punkte ändern sich, je nach dem, ob Sie eine Datei oder einen Ordner ausgewählt
haben.
Falls Sie einen Ordner gewählt haben, können Sie:
- Zugriffssteuerungsliste kanonisch sortieren: Dies bedeutet,
dass die ACL in eine empfohlene Reihenfolge gebracht wird, die als „normal“
angesehen wird. Die kanonische Sortierreihenfolge ist: explizite Verweigern-Einträge,
explizite Erlauben-Einträge, geerbte Verweigern-Einträge, geerbte Erlauben-Einträge.
- Geerbte Einträge entfernen: ACEs, die von Objekten auf höheren
Ebenen in der Ordnerhierarchie geerbt wurden, werden entfernt.
- Vererbte Einträge explizit machen: alle geerbten ACEs werden
durch explizite Einträge mit dem gleichen Inhalt ersetzt.
- Zugriffsrechte übertragen: Diese Funktion kann dazu benutzt
werden, die Berechtigungseinstellungen des aktuellen Ordners auf alle Objekte
zu übertragen, die sich auf tieferen Ebenen in der Ordnerhierarchie befinden.
TinkerTool System fragt danach, welche Kategorien von Berechtigungen Sie
im einzelnen übertragen möchten. Sie können jede beliebige Kombination von Eigentümer,
Gruppeneigentümer, Eigentümerrechte, Gruppenrechte, Rechte für Andere und
Zugriffssteuerungsliste (ACL) übertragen. Dies stellt alle ausgewählten
Berechtigungen aller Objekte, die im gewählten Ordner enthalten sind, vollständig
zurück. Aus Sicherheitsgründen werden Objekte mit speziellen Berechtigungseinstellungen
(SUID und GUID) automatisch von diesem Vorgang ausgeschlossen.
Beim Übertragen von Berechtigungen in Ordnern, die symbolische Links enthalten,
bearbeitet das Programm die Links selbst. Die Objekte, auf die die Links verweisen,
bleiben unverändert. Ordner, auf die von einem Link verwiesen wird, werden
nicht durchschritten.
Falls Sie eine Datei ausgewählt haben, können Sie:
- Zugriffssteuerungsliste kanonisch sortieren: siehe oben.
- Zugriffssteuerungsliste entfernen: hierdurch wird die gesamte
ACL entfernt.
- Geerbte Zugrifssteuerungsliste holen: TinkerTool System lädt
hierbei eine neue ACL, basierend auf der Zugriffssteuerungsliste, die Mac
OS X für neue Dateien in diesem Ordner anlegt und basierend auf den aktuellen
Vererbungseinstellungen, die in diesem Ordner wirksam sind.
Mit Ausnahme der Funktion zum Übertragen von Rechten, ändern alle Operationen
zunächst nur den Inhalt der Berechtigungstabelle, nicht die eigentlichen Einstellungen
auf der Platte. Die Änderungen werden wirksam, nachdem Sie den Knopf Anwenden gedrückt
haben.
Wirksame Zugriffsrechte
Die Kombination zahlreicher Zugriffssteuerungseinträge und der POSIX-Berechtigungen
kann es schwierig machen, abzuschätzen, wie die endgültigen Rechte eines bestimmten
Benutzers sein werden. TinkerTool System kann die wirksam werdenen Rechte für
einen Benutzer berechnen und anzeigen. Diese Funktion ist insbesondere dann
nützlich, wenn Sie noch nicht viel Erfahrung mit Berechtigungseinstellungen
haben. Um die wirksam werdenden Zugriffsrechte anzeigen zu lassen, führen Sie
die folgenden Schritte durch:
- Öffnen Sie den Karteireiter Wirksame Zugriffsrechte auf der
Einstellungskarte
ACL-Rechte.
- Ziehen Sie eine Datei oder einen Ordner aus dem Finder in das Feld Datei
oder Ordner. Sie können auch den Knopf […] drücken,
um zum Objekt zu navigieren oder auf die weiße Fläche klicken und den UNIX-Pfad
des Objektes eingeben.
- Drücken Sie den Knopf Auswählen …, um einen der bekannten
Benutzer-Accounts des aktuellen Computers auszuwählen.
- TinkerTool System zeigt die Ergebnisse in der Tabelle unten an. Rechte,
die diesem Benutzer gewährt werden, sind durch grüne Markierungen dargestellt,
Rechte, die verweigert werden, über eine rote Markierung.
Spezielle Rechte
Die Menge der POSIX-Berechtigungen schließt die drei speziellen Einstellungen
SUID, GUID und Sticky mit ein. Für deren Bedeutung ziehen Sie bitte die einführenden
Abschnitte zu Beginn dieses Kapitels zu Rate. TinkerTool System kann jede der
drei Einstellungen anzeigen und ändern. Führen Sie die folgenden Schritte durch:
- Öffnen Sie den Karteireiter Spezielle Rechte auf der Einstellungskarte ACL-Rechte.
- Ziehen Sie eine Datei oder einen Ordner aus dem Finder in das Feld Datei
oder Ordner. Sie können auch den Knopf […] drücken,
um zum Objekt zu navigieren oder auf die weiße Fläche klicken und den UNIX-Pfad
des Objektes eingeben.
- Die aktuellen Einstellungen werden angezeigt. Sie können die Felder Eigentümer,
Gruppeneigentümer, SUID, GUID und Sticky wie gewünscht verändern.
- Betätigen Sie den Knopf Anwenden, um die neuen Einstellungen zu speichern.
Warnung: Wie in der Einführung
erläutert, kann das Setzen der SUID- oder GUID-Markierungen sehr ernste Sicherheitsprobleme
auslösen, die das gesamte Betriebssystem betreffen. Es sollte niemals notwendig
sein, die SUID/GUID-Markierungen für Programme zu setzen, wenn dies deren Installationsprogramme
nicht bereits getan haben. Das Entfernen der Marken kann zu Fehlfunktionen
in den betreffenden Programmen führen. Sie sollten diese Funktion nur benutzen,
wenn Sie genau wissen, was Sie tun.