Das Missverständniss mit Besitz Übernehmen dem NTFS sowie Freigaberechten

Hintergrund

Wie werden die Freigaberechte und NTFS Rechte richtig gesetzt und was hat es mit dem "Besitz übernehmen" auf sich?

Erklärung

Früher, damit sind Windows NT 4.0 Zeiten gemeint, galt: NTFS Rechte genauer setzen und Freigaberechte hingegen mit Jeder und Vollzugriff.

Dass dies natürlich schon früher eher gelebte- als best-Practice war steht außer Frage. Leider hatten zu dieser Zeit ein paar ungünstige Veröffentlichungen von Microsoft zu einem bis heute teils noch verbreiteten Irrglauben geführt. Daher jetzt erst einmal ein Schwenk zu ein paar Erklärungen.

NTFS Rechte

Das sind die Rechte des Dateisystems. FAT und dessen Nachfolger FAT-16 FAT-32, extFAT usw. haben übrigens -keine- Dateirechte. Im Gegensatz zu anderen Dateisystemen wie EXT usw. unter Linux, welche auch bis heute noch nur die 4 Zustände Lesen/Schreiben/Löschen sowie Ausführen kennen, bietet das Windows Dateisystem NTFS seit jeher ein Vielfaches an Detailgrad.

Die Möglichen Datei Rechte in Windows sind hingegen 14 Stück:

  • Vollzugriff
  • Ordner durchsuchen/Datei ausführen
  • Ordner auflisten / Daten lesen
  • Attribute lesen
  • Erweiterte Attribute lesen
  • Dateien erstellen / Daten schreiben
  • Ordner erstellen / Daten anhängen
  • Attribute schreiben
  • Erweiterte Attribute schreiben
  • Unterordner und Dateien löschen
  • Löschen
  • Berechtigungen lesen
  • Berechtigungen ändern
  • Besitz übernehmen

Sie können angewendet werden auf 7 Objekt Typen:

  • den aktuellen Ordner
  • den aktuellen Ordner, Unterordner und Dateien
  • den aktuellen Ordner und Unterordner
  • den aktuellen Ordner und Dateien
  • nur Unterordner und Dateien
  • nur Unterordner
  • nur Dateien

Macht 14 hoch 7 Varianten. Wollen wir das rechnen? Nein, denn manche Rechte schließen das andere ein/aus und meist gibt es gewisse "Standard-Kombinationen" die zusammengefasst werden in Gruppen aus den Einzelrechten (Lesen, Ändern usw).  Aber es steht fest, die Entwickler früher waren nicht schlecht und haben viel Zeit in eine ordentliche Rechteverwaltung investiert - man sieht, alleine die Summe an Möglichkeiten bringt einen ungemeinen Mehrwert und besonders Flexibilität. Jedoch auch mehr Kopfarbeit. Ich möchte nicht auf die einzelnen Rechte eingehen, das kann jeder selbst im Internet suchen. Ich hebe nur das Wichtigste hervor.

Die Rechte sind kumulativ und restriktiv

Hört man oft, und das heißt? Ganz einfach:

Kumulativ
Das steht grob für "zusammengefasst".
Alle Rechte die ein Benutzer erhalten kann, sei es über sein Benutzer-Objekt oder seine Gruppenmitgliedschaften ergibt immer entweder ein Ja oder Nein, zu einem der oben aufgelisteten Rechte. Stellen Sie sich die Liste oben nummeriert vor, dabei hat jeder Punkt entweder den Wert 0 oder 1. Wenn ein Benutzer einen der Listeneinträge nicht hat, also 0, eine seiner Gruppen aber schon, dann ergibt das eine 1. Ebenso umgekehrt. Von seinen eigenen Gruppen in denen man Mitglied ist, muss also nur eine einen Zugriff erlaubt haben, damit man ihn selbst auch bekommt. In Summe ergibt das dann einen Rechte-Satz der den Zugriff erlaubt oder nicht erlaubt. Zum "nicht erlauben" gibt es aber noch eine Steigerungsform, nämlich das "Verweigern".

Nicht erlaubt heißt nicht Verweigern!
Nicht erlaubt = du kannst hier nicht rauchen, weil ich hab dein Feuerzeug genommen. Aber findest du eines, dann könntest du - es ist ja nicht verboten.
Hingegen Verweigern = tatsächliches Rauch-Verbot. Wer sich nicht dran hält wird eingeknackt. Genau an diesem Ansatz setzt nun der zweite Teil an - Restriktiv.

Merken wir uns bis jetzt einfach, wenn man von "irgendwo" ein Recht bekommt, hat man es. Alles Andere hat man nicht.

Restriktiv
Das bedeutet so viel wie "Verbot gewinnt".
Wenn aus dem Kumulativ Beispiel oben ein Recht "nicht vorhanden = nicht erlaubt" ist, kann man prinzipiell natürlich auch nicht dagegen verstoßen. Wenn man sich jedoch jetzt vorstellt, dass man in sagen wir 100 Gruppen Mitglied ist, dann kann keiner behauten er hat den Überblick. Und umso mehr Gruppen, umso höher die Wahrscheinlichkeit, dass man in einer Gruppe ist, die noch ggf. aus der Vergangenheit etwas darf, was sie vielleicht nicht mehr dürfen sollte.

Solche Situationen kann man vermeiden, indem man restriktiv vorgeht. Sprich auf wichtige Dinge wird explizit etwas "verweigert". Und so eine Verweigerung hat Vorrang. Das ist das Wichtigste das man mitnehmen muss - Den Vorrang der Verweigerung! Auf den Ordner "Finanzen" könnte Beispielsweise die Gruppe "Finanz-Genies" alle Rechte haben, jedoch die Gruppe "Rest der Welt" hat ein Verweigern. Ein Verweigern auf etwas bestimmtes, nämlich z.B. ein Verweigern auf "Lesen" oder Löschen/Ändern usw. . Hätte ein Benutzer aufgrund der Mitgliedschaft einer anderen Gruppe ein Schreibrecht (oder anderes) auf den Finanzen Ordner, so hätte er dennoch keinen Zugriff wenn er nicht in der Gruppe "Finanz-Genies" ist.

Jeder vs Authentifizierter Benutzer
Es gibt ein paar Spezialbenutzer. Auch "Platzhalter" wenn man so will. Speziell die Gruppe "Jeder" war früher wirklich "Alles und Jeder". Nachdem viele Administratoren aber den "Jeder" insofern zweck-entfremdeten, als das er ständig verwendet wurde, ist heute in "Jeder" nicht mehr "wirklich Jeder" enthalten. Das trifft beispielsweise auf den Platzhalter "Anonymer Benutzer" zu (das ist "Jemand" der sich noch nicht angemeldet hat). Der Anonymous Benutzer war früher in "Jeder" enthatlen, heutzutage nicht mehr. Aber man ist generell von "Jeder" etwas abgekommen und verwendet nun eher Platzhalter Gruppen wie "Authentifizierter Benutzer". Das ist wiederum ein Ersatz für "Jeder", insofern als dass der Authentifizierte Benutzer "Jeder" ist der sich zumindest erfolgreich angemeldet hat.

Freigaberrechte

Freigaberechte sind viel weniger detailiert. Man könnte fast sagen, die Freigaberechte sind die simplen Rechte die man von Linux kennt. Es gibt auch hier nur die 3 Zustände Lesen/Ändern/Vollzugriff. Nur, dass diese Rechte nie lokal sind, sondern immer nur Remote gesehen. Also immer aus der Perspektive "Andere bei mir".

Die Freigaberechte, sind zudem mit den NTFS Rechten ebenso kumulativ zu sehen. Jedoch immer in der Reihenfolge "erst Freigaberecht, dann NTFS Dateirecht". Lokal am Computer, spielen die Freigaberechte keine Rolle, denn lokal werden Sie ja nicht angewendet. Freigaberechte sind das erste, was kontrolliert wird, wenn Sie z.B. auf \\Server\Freigabe zugreifen. Kumulativ mit NTFS bedeutet nun beispielsweise, ein Vollzugriff über die Freigaberechte in Kombination mit einem NTFS Recht, welches "nur Lesen" erlaubt, ist Schlussendlich auch "nur Lesen". Ein Freigaberecht das "Nur Lesen" erlaubt, aber ein NTFS Rechte, das "Vollzugriff" erlaubt ergäbe auch "nur Lesen".

Spezialität "Besitz übernehmen"

Wie der Name ja schon andeutet. Besitzt man dieses Spezielle Recht, kann man das Besitztum anfordern. Und wie im wahren Leben, darf der Besitzer alles. Beispiel. Habe ich nur ein "Lesen" Recht auf etwas, jedoch zusätzlich das "Besitz übernehmen" Recht, dann kann man sich selbst zum Chef machen und sich selbst alle Rechte "geben".  Das ist eigentlich eher für Administratoren gedacht. Das Recht Besitz Übernehmen ist also ein ganz besonderes Recht. Es steht zudem auch über Anderen, auch den Verweigerungen.

Warum das Jeder mit Vollzugriff niemals in Freigabeeinstellungen verwendet werden sollte

Nun da wir ein paar Grundbegriffe kennen, ist es möglich das zu erklären. Zusammengefasst:
    NTFS Rechte zusammengefasst
+ Freigaberechte zusammengefasst
-  Verweigerungen
= Endgültige Datei und Ordner Rechte

Wenn auf NTFS Ebene, detailierte Rechte gesetzt werden, hingegen auf Freigabeebene "Jeder - Vollzugriff" verwendet wird führt das zu einem Problem.
Sie erlauben damit, sollte es das NTFS Recht erlauben, dass ein Benutzer der wegen bestimmter Konstellationen über dieses Recht verfügt, von Dateien und Ordnern Besitz ergreifen kann. Damit könnte ein Benutzer dann auch die Rechte editieren. Das wollen Sie bestimmt nicht.  Der Platzhalter "Jeder" in Kombination mit "Vollzugriff" schließt nämlich das "Besitz Übernehmen" ein. Ein Benutzer könnte sich damit selbst auf alles berechtigen.

Wie und warum passiert das in der Praxis?

Ich sage Ihnen jetzt ganz genau warum das so Vielen, vielleicht auch Ihnen passiert:

Freigaberecht, stellen wir uns jetzt pauschal mit "Jeder" und "Vollzugriff vor.

Sie haben beispielsweise einen Ordner wie "Gemeinsam" oder "Allgemein". Dort haben Sie wahrscheinlich auch allgemeinen Gruppen ähnlich wie "Mitarbeiter" oder "Domänen-Benutzer" das NTFS Recht "Ändern" zugewiesen. Das haben Sie gemacht, weil Sie wollten, dass Mitarbeiter dort Ordner erstellen, diese mit Daten befüllen und diese wiederum auch bearbeiten und löschen können sollen. Aber Sie wollten natürlich nicht, dass die Benutzer die Rechte Ändern (Vollzugriff) daher haben Sie Ändern gewählt. Damit liegen Sie eigentlich auch absolut richtig. Denn, das Ändern Recht beinhaltet aus der Liste am Anfang des Artikels alle Einträge außer Vollzugriff und auch nicht das Recht Besitz Übernehmen.

Denken Sie jetzt daran, der Benutzer kommt ja aus dem Netzwerk und nicht von lokal am Server. Dort steht "Vollzugriff", und Vollzugriff beinhaltet "Besitz Übernehmen", und NTFS- sowie Freigabe-Rechte sind kumulativ - angekommen? Also kann der Benutzer jetzt auf jede Datei und jeden Ordner sich selbst den Besitz geben und als Besitzer im Anschluss sich auch das Vollzugriff Recht auf NTFS Ebene geben.

Aber es geht noch viel gemeiner - Hier denken Sie wahrscheinlich gar nicht daran, dass es passieren kann:
Wenn Sie sich mehr mit Rechten beschäftigen, werden Sie bestimmt Gebrauch von den Platzhaltern Ersteller-Besitzer und der Ersteller Besitzer Gruppe machen. Am Beispiel der Freigabe "Buchhaltung" - Hier könnte Ihr Ziel sein, dass Mitglieder der Gruppe "Mitarbeiter-Buchhaltung" Dateien erstellen können sollen, aber nur die eigenen Dateien bearbeiten oder löschen. Die Dateien von anderen Benutzern nicht. Ich bin mir sicher, Sie haben wie folgt verwendet:
Platzhalter Gruppe Erstellergruppe oder Ersteller-Besitzer: Ändern (oder auch Lesen, Schreiben, Löschen usw..)
Gruppe Mitarbeiter-Buchhaltung: Lesen

Sie gehen jetzt davon aus, dass ein Benutzer nicht Daten eines Anderen löschen oder bearbeiten kann. Nun ja, das ist richtig solange der Benutzer sich jetzt nicht den Besitz holt. Das kann er jetzt nämlich. Warum? Weil der Benutzer in der Gruppe Ersteller-Besitzer Mitglied ist, zumindest in einer davon möglicherweise und weil Sie über die Freigaberechte die Besitzübernahme ermöglicht haben. Und das ganze funktioniert wieder Mal nur deshalb, weil in der Freigabe die Kombination "Jeder" und "Vollzugriff" verwendet wurde. Hätten Sie für "Jeder" das "Ändern" gewählt, wäre das alles nie passiert.

Wie also Richtig

Gewöhnen Sie sich an niemals, never ever, "Jeder" und "Vollzugriff" in der Freigabe zu verwenden.

Freigaberechte

  • Administratoren: Vollzugriff
  • System: Vollzugriff
  • Domänen-Benutzer: Ändern
    Alternativ wenn es sein muss: Jeder: Ändern

NTFS Rechte

  • Wie gehabt detailiert vergeben und möglichst immer mit Gruppen arbeiten
  • Oberstes Maximal-Recht für Benutzer ist das Recht Ändern und niemals Vollzugriff
  • Vollzugriff nur für System oder Administratoren verwenden

 


Drucken