Berechtigungen für Dateien und Ordner

Bei Mehrbenutzersystemen (z.B. einem von verschiedenen Leuten benutzten PC oder einem Netzwerkordner) dienen Berechtigungen dazu den Zugriff auf Ressourcen für User oder Gruppen zu regeln. Berechtigungen gibt es im Rahmen unserer IT-Infrastruktur für verschiedenste Ressourcen wie z.B. WLAN-Zugriff (RADIUS), WordPress-Zugang, etc., dieser Artikel befasst sich jedoch nur mit jenem auf Dateien und Ordner in unseren gemeinsamen Datenspeichern.

Ziel

Ein Berechtigungskonzept im gemeinsamen Datenspeicher soll dazu dienen die Aufrechterhaltung von dir Ordnung und Übersicht zu unterstützen. Gemeinschaftlich genutzte Datenspeicher verfallen auf natürliche Weise ins Chaos und dem gilt es so gut als möglich entgegenzuwirken.
Außerdem solle unbeabsichtigte und unerwünschte Veränderungen an Dateien und Ordnern so gut es geht zu verhindert werden.
Im Gegensatz zu Firmen, wo es auch ein Ziel ist die Möglichkeit zur unerwünschten Datenweitergabe zu unterbinden, ist dies bei den gemeinsam genutzten Daten der Mauerseglerei kein Thema, da wir auf maximale Transparenz Wert legen.
Das Berechtigungskonzept wird an einigen wenigen Stellen dazu verwendet werden um sicherheitskritische Daten vor der Allgemeinheit an Mauerseglerei-Mitgliedern zu verstecken.

Das Berechtigungskonzept soll dabei

  • flexibel, um den Bedürfnissen aller Teilnehmer_innen gerecht zu werden
  • einfach zu verwalten
  • nachhaltig
  • sicher und robust

sein.

Anwendungsgebiet

Das Berechtigungskonzept soll in erster Linie aus unseren neuen (2020) gemeinsamen Datenspeicher, der als Netzwerkordner (SMB-Share) am Fileserver (Dioptas-NAS) implementiert wird, Anwendung finden.

Relevant ist dies für alle Bewohner_innen der Mauerseglerei bzw. Mitglieder des Vereins, Mitarbeiter_innen der Schule und des Sozialen Zentrums sowie Freunde und Familie, die auf Daten zugreifen wollen, die auf den genannten Datenspeichern lagern.

Rollen

Für das Verständnis aus Sicht der User ist es sinnvoll Rollen für die Arbeit im gemeinsamen Datenspeicher zu definieren. User, denen gewisse Rollen zu Teil werden, werden technisch mit den benötigten Berechtigungen ausgestattet. Bei Rolle geht es aber in erster Linie darum beim User ein Verständis dafür zu schaffen, wie er_sie sich innerhalb des gemeinsamen Datenspeichers zu verhalten hat und welche Auftaben und Verantwortungen damit einher gehen.

Diese Rollen werden per Ordner und per Datei vergeben. Es ist daher durchaus üblich, dass man in einem Ordner eine besondere Rolle hat, während man in den meisten anderen eine weniger besondere Rolle hat.

  • IT-Administrator_innen:
    Admins haben üblicherweise nicht an den täglichen Geschehnissen Teil. Wenn keine explizite technische Notwendigkeit besteht, rühren sie die Daten nicht an.
    Ihre Aufgabe ist es einzugreifen, wenn die Zuständigkeit für ein Objekt nicht geklärt ist, um dann Rollen zuzuteilen und Berechtigungen zu vergeben, oder wenn auffällt, dass die allgemeinen Ordnungsregeln nicht eingehalten werden um dann rigoros aufzuräumen.
  • Ordner-Admin und Datei-Eigentümer_in:
    Unklarheit: 2 Definitionen von Eigentümer: Einerseits ist die Person, die eine Datei erstellt der Eigentümer, andererseits verwenden wir Eigentümer als Synonym für Ordner-Admin. Tatsächlich ist erstere Definition für Dateien und deren Inhalt zutreffend, während letztere bei Ordnern und der Position und Benennung der Dateien zutrifft. Diese Trennung muss aufformuliert werden.
    Alle User sollten ein Bewusstsein dafür haben, dass der_die Eigentümer_in (Owner) eines Objekts (Datei oder Ordner) die Oberhoheit über dieses hat und vermutlich auch wiederholt an diesem Objekt arbeitet. Es ist dem_der Eigentümer_in daher mit dem nötigen Respekt zu begegnen. Das beinhaltet beispielsweise bei dem_der Eigentümer_in nachzufragen, ob es in Ordnung ist, das Objekt zu bearbeiten oder gar zu löschen.
    Der_die Eigentümer_in hat die Verantwortung, dass Ordnung gewahrt wird. Er_sie ist im Alltagsgeschehen die höchste Instanz, wenn es um Entscheidung und Durchsetzung der inneren Ordnung geht (solange die allgemein vereinbarten Regeln dabei eingehalten werden.). Wenn im Ordner die Übersicht verloren geht oder Abweichungen von den Regeln auftreten, dann wendet man sich zuerst an den_die Eigentümer_in. Im Allgemeinen wird wohl pro Arbeitskreis ein_e Ordnerhüter_in designiert werden.
    Hat ein Unterorder eine_n andere_n (eigene_n) Eigentümer_in, dann ist der_die Eigentümer_in des übergeordneten Ordners nicht mehr für diesen Unterordner hauptverantwortlich. Eigentümer_innen können allerdings die Eigentümerschaft bei Unterorndern anderer Eigentümer_innen verändern. Auch hier gilt Vorsicht und Respekt.
    Detaillierte Aufgabenbechriebung siehe Rolle Ordner-Admin „owner“.
  • Bearbeiter_in:
    Deren Aufgabe ist es in erster Linie Dateien innerhalb von Ordnern zu erstellen und zu bearbeiten. Es gelten die vereinbarten Regeln, jene die der_die Eigentümer_in aufstellt und allgemein werden übliche „Benimmregeln“ an einem gemeinsamen Arbeitsplatz vorausgesetzt (z.B. lösche, verschiebe und benenne keine Dateien um, ohne dich vorher mit dem_r Ersteller_in/letze_r Bearbeiter_in abgesprochen zu haben). Insbesondere manipulieren Nutzer_innen im Allgemeinen keine Ordner.
  • Leser_in:
    Diese Rolle tragen alle Mauersegler_innen in fast allen Ordnern der gemeinsamen Datenspeicher. Als Leser_in darf man den Inhalt der Ordner einsehen und die Dateien ansehen. Mit dieser Rolle sind sehr wenige Regeln verbunden, da man nichts kaputtmachen kann.
  • nicht Berechtigt_e:
    In Fällen, wo Ordner oder Dateien einzelnen Personen oder Personengruppen privat zugrordnet sind werden alle anderen die Rolle der nicht Berechtigte_n haben, also nicht einmal in der Lage sein, die betreffenden Dateien oder Ordner anzuzeigen. Auch bei sicherheitskritischen Objekten der IT wird dies der Fall sein.

Berechtigungsarten

Im Falle von Datenspeichern werden Berechtigungen für jedes Objekt (Datei oder Ordner) vergeben. Die Berechtigungen werden entsprechend der Rollen der User vergeben (Tatsächlich vergeben wir Berechtigungen an Gruppen, siehe weiter unten). Wir werden die Anzahl verwendeter Berechtigungsarten versuchen auf ein Minmum zu redizieren um jede unnötige Komplexität zu vermeiden.

  • keine Berechtigung
    Ordner und Dateien, zu denen User/Gruppen keinen Zugang haben sollen, haben keine Berechtigung für diese User/Gruppen eingetragen. Die Dateien/Ordner sind auch gar nicht sichtbar.
  • Lesen
    Ermöglicht es Usern durch Ordner zu navigieren und Dateien zum Lesen zu öffnen.
  • Ändern
    Dies ermöglicht dem User alle bekannten Dateioperationen (Erstellen, Lesen, Ausführen, Bearbeiten, Umbenennen, Verschieben, Löschen,…) mit Dateien und Ordnern auszuführen mit Ausnahme des Veränderung von Berechtigungen.
  • Vollzugriff
    Dies schließt alle Dateioperationen mit ein; insbesondere auch das Bearbeiten von Berechtigungen.

Die auf unserem Netzwerkordner vorhandenen Berechtigungen sind identlisch mit jenen, die es beim Dateisystem NTFS (derzeitiger Windows-Standard) gibt. Siehe auch ACL.

Es fünf „Haupt“-Berechtigungsarten und die Option spezielle Berechtigungen zu vergeben.

  • Ordnerinhalt anzeigen: Dies ist notwendig, damit User zu einem Unterordner gelangen können, in welchem diese umfassendere Berechtigungen haben.
  • Lesen: Der User darf zusätzlich Dateien lesen und auch die Eigenschaften, Besitzer und Berechtigungen der Dateien und Ordner einsehen.
  • Ausführen: Wir machen von dieser Berechtigung kaum gebrauch. Zusätzlich zu bisherigen Berechtigung ist es dem User nun erlaubt Apps in dem entsprechenden Ordner auszuführen.
  • Ändern: Der User darf zusätzlich auch
    • Dateien und Ordner erstellen
    • Dateien bearbeiten
    • Innerhalb von Ordnern veränderungen vornehmen
    • Dateien und Ordner umbenennen und andere Dateiattribute ändern
    • Dateien und Ordner verschieben
    • Dateien und Ordner löschen
  • Vollzugriff: Der User darf zusätzlich auch den Besitzer von Dateien verändern. Hierdurch ergibt sich auch eine volle Kontrolle über alle Unterordner.
  • Spezielle Berechtigungen: Hiervon werden wir vermutlich kaum gebrauch machen. Hiermit lässt sich noch feingranularer Steuern, was ein User darf, z.B. Ordner durchsuchen, Dateien erstellen, (getrennt davon) Ordner erstellen, Löschen (und etxtra genannt) Unterordner löschen, etc.
Zugriff auf eine Netzwerkordner unter Windows 10

Funktionsweise

Berechtigungen sind Eigenschaften von Objekten (Dateien und Ordnern) und werden bei diesen am Fileserver abgespeichert.
Will ein User eine Aktion mit einem Objekt durchführen (anzeigen, verändern, löschen), wir zunächst ein Kommando vom Client (Computer des Users) an den Fileserver gesendet. Der Fileserver vergleicht dann User und Kommando mit den Berechtigungen auf das Objekt entscheidet dann ob die gewünschte Aktion zulässig ist und reagiert folgendermaßen:

  • Die Aktion ist zulässig -> die Aktion wird ausgeführt
  • Die Aktion ist unzulässig ->
    • Es wird eine Fehlremeldung ausgegeben
    • Die Datei bzw. der Ordner wird nicht angezeigt

Es könnte einen User geben, der Mitglied im Team bzw. Kreis für Finanzen ist, aber nicht im Kreis für Öffentlichkeitsarbeit und auch nicht im Kreis für IT. Ein solcher User erhält sinnvollerweise Schreib- und Leserechte an Dateien aus dem Ordner „Finanzen“, aber keine Schreibberechtigung z.B. im Ordner „Öffentlichkeitsarbeit“ und aus Sicherheitsgründen weder Schreib- und Leserechte im Ordner „IT/SSL-Zertifikate“.

  • Der User meldet sich erfolgreich beim Fileserver mit Username und Passwort an
  • Der User versucht eine Datei im Order „Finanzen“ zu bearbeiten -> geht
  • Der User versucht die Dateien im Ordner „Öffentlichkeitsarbeit“ anzuzeigen -> geht
  • Der User versucht die Dateien im Ordner „Öffentlichkeitsarbeit“ zu verändern -> Fehlermeldung
  • Der User versucht die Dateien im Ordner „IT/SSL-Zertifikate“ anzuzeigen -> keine Dateien sind sichtbar

Verbote

Die grundlegende Regel ist: Wenn keine Berechtigungen auf eine Date oder einen Ordner vergeben werden, dann ist allen (mit Einschränkung) alles verboten. Wenn wir die Sicherheit unseres Systems testen wollen bedeutet das, wir schauen nicht darauf, dass jeder User kann, was er_sie benötigt, sondern, dass allen anderen User dies verboten wird.

  • User ohne Berechtigungen in einem Ordner sollen die beinhalteten Dateien gar nicht sehen können.
  • User ohne Berechtigungen auf eine Datei sollen diese nicht mal zum Lesen öffnen können.
  • User ohne Schreibrechte auf einen Ordner
    • dürfen diesen nicht
      • umbenennen
      • verschieben
      • löschen
    • dürfen in diesem Ordner keine Dateien und Ordner
      • erstellen
      • hineinkopieren
      • verschieben
      • löschen
      • umbenennen
  • User ohne Schreibrechte auf eine Datei
    • dürfen den Inhalt der Datei nicht verändern. Das beinhaltet auch:
      • Daten anfügen
      • Leeren (inhalt Löschen)
  • User ohne Vollzugriff auf eine Datei bzw. einen Ordner
    • dürfen keine Berechtigungen verändern
      • insbesondere nicht die Eigentümerschaft übernehmen

Wir haben für Testzwecke Vorbereitungen getroffen siehe unten im Kapitel „Berechtigungen testen“

Berechtigungsvergabe

Berechtigungen werden so vergeben, dass ein User genau die Dateien lesen (öffnen, anschauen, anhören, auflisten) kann, die er_sie auch lesen können möchte/sollte und genau die Dateien schreiben (ändern, anlegen, löschen) kann, die er_sie schreiben können möchte/sollte.

In einer idealen Welt sind die Berechtigungen deckungsgleich mit dem, was die Person durchführen möchte bzw. sollte und daher kommt man mit den Einschränkungen durch das Berechtigungssystem nicht in Berührung. In der Realität kann die IT-Administration die Bedürfnisse der User nicht exakt vorhersagen, sodass es immer wieder dazu kommen muss, dass User sich mit Änderungswünschen an den Berechtigungen an die Admins richten.

In Hinblick auf die oben genannten Ziele und deklarierten Rollen gilt folgender Vorschlag:

  • keine (evtl.. Traversieren)
    Dies ist der Fall, wenn bei privaten, systemrelevanten oder sicherheitskritischen Ordnern alle außer die explizit befugten Uer ausgesperrt werden.
  • Read (Leseberechtigungen)
    Mitglieder der Mauerseglerei erhalten vollen Lesezugriff überall (außer siehe oben).
  • Modify (Schreibberechtigungen)
    Mit diesen sind wir so knausrig wie möglich. Nur wer Dateien bearbeiten muss, um seine Aufgaben zu erfüllen, erhält Schreibrechte.
  • Full Control (Eigentümerschaft)
    Der Ersteller einer Datei oder eines Ordners erlangt üblicherweise automatisch Eingentümerschaft. IT-Administratoren haben auch stets Full Control.
    Für Ordner von Arbeitskreisen oder anderen gemeinschaftlich Genutzten Ordnern wird üblicherweise ein einiger Eigentümer pro Ordner definiert.

Die Berechtigungen werden von den IT-Administratoren, also eingeschulten, berechtigten Personen vorrangig aus dem Kreis für IT, eingetragen. Braucht ein User Berechtigungen für einen Ordner oder eine Datei, kann sich dieser einfach bei den IT-Administratoren auf jedem denkbaren Kommunikationsweg anfordern.

Berechtigungen, insbesondere Eigentümerschaft für Dateien und Unterordner können auch vom Eigentümer bestimmt werden.

Vererbung

Üblicherweise werden die Berechtigungen, die bei einem Ordner eingestellt werden, auf all seine Unterordner und beinhaltete Dateien übertragen. Dies ist nicht zwingend der Fall, wird aber im Allgemeinen so gehandhabt. Das bedeutet, wenn ein Ordner Leseberechtigungen für einen User bereithält, gilt das auch für alle Dateien und Ordner, die darin enthalten sind. Genauso verhält sich das mit Schreibberechtigungen.

Man kann in einem untergeordneten Ordner aber auch festlegen, dass explizit eigene Regeln an diesem Ort gelten sollten und z.B. ein User dort dadurch seine Zugriffsrechte verliert. Man spricht hier von einer gebrochenen Vererbung. Dies wird nur eingesetzt, wenn es unbedingt sein muss.

Es ist zulässig, dass ein User auf mehrfachem Wege Berechtigungen erlangt. Der übliche Mechanismus, der solche Situationen hervorbringt wird im nächsten Abschnitt erläutert, wo der Begriff der Gruppe (im Rahmen von Usern und Berechtigungen) definiert wird. Dies ist insbesondere relevant, wenn sich diese Berechtigungen widersprechen. z.B. könnte ein User durch eine Berechtigungsdefinition Schreibrechte auf einem Objekt haben und aufgrund einer anderen nur Leserechte. In solchen Fällen gilt dann, dass die freigiebigere Berechtigung gültig ist. Bei Lesen und Schreiben ist dies Schreiben.

Gruppen

User in Gruppen, einfache Struktur

User werden zu Gruppen zusammengefasst. Gruppen können wieder Teil von Gruppen sein. Gruppen dürfen auch Überschneidungen aufweisen.

Für uns relevant sind zwei Arten von Gruppen:

  • Personengruppen
  • Berechtigungsgruppen

Wenn es darum geht, User zusammenzufassen, sodass sie eine gemeinsame Berechtigung auf eine Ressource (einen Ordner) erhalten, spricht man von Berechtigungsgruppen oder Security Groups. Eine Berechtigungsgruppe muss immer einen Namen tragen, der genau auf die dahinterliegende Berechtigung (d.h. auf die Ressource und was der User damit tun darf) schließen lässt. Dies ist deshalb wichtig, da sich nicht mit einfachen Mitteln herausfinden lässt, auf welche Ressourcen ein User oder eine Gruppe welche Berechtigungen hat. Das sorgt für ziemliche Umstände, sollte dieses Wissen einmal verloren gehen.

Wenn ich hingegen Personen einfach nur zusammenfasse, weil sie als Gruppe das gleiche Set an Berechtigungen teilen, verwende ich den Begriff Personengruppe.

Ein Beispiel:
Vier Personen sind Mitglieder des Kreises „AK Marie“ und der Kreis beschäftigt sich mit Finanzen und Recht. Für beide Themen gibt es jeweils einen Ordner und die vier Personen hätten gerne Lese- und Schreibrechte in diesem. Ferner sollten sie in der Lage sein auf alles andere lesend zuzugreifen. Folgendes wäre zu tun:

  • Es werden die User U1, U2, U3 und U4, welche die vier Personen repräsentieren, erstellt.
  • Es wird eine Personengruppe „Mauerseglerei_AK_Marie“ erstellt.
  • Die vier Personen U1 bis U4 werden Teil dieser Gruppe.
  • Die beiden Berechtigungsgruppen „Mauerseglerei_Finanzen“ und „Mauerseglerei_Recht“ werden erstellt.
  • Die beiden Ordner erhalten jeweils die Einstellung, dass die entsprechende Berechtigungsgruppe Schreibrechte in diesem Ordner erhält.
  • Die Personengruppe „Mauerseglerei_AK_Marie“ wird den beiden Berechtigungsgruppen hinzugefügt.
v.l.n.r: User, Personengruppen, Berechtigungsgruppen, Ordner mit Berechtigungen

Dieses Verfahren wirkt etwas zu kompliziert, wenn es sich doch so einfach dadurch realisieren ließe, dass man in beiden Ordnern jeweils die vier Personen in den Einstellungen hinterlegt. Weshalb also der Aufwand?

  • Personen kommen und gehen. Und wenn ich den User lösche, dann sollte ich die Berechtigungen dieses Users auch von allen Dateien und Ordnern löschen, auf die der User Rechte hatte. Dafür gibt es aber kein effizientes Verfahren. Im Normalfall hinterlässt man also sogenannte „verwaiste Einträge“ und die akkumulieren sich über die Jahre. Mit obigem System verschwindet der User aus dem Personenkreis und es muss nichts sonst beachtet werden.
  • Personen wechseln Arbeitskreise. Mit obigem System muss ich den User nur aus einer Personengruppe entfernen und einer anderen hinzufügen. Ich muss keine Kenntnis über die Berechtigungen der Person haben.
  • Arbeitskreise können sich auch auflösen. Würde ich Arbeitskreise an die Ordner heften, würde ich genauso verwaiste Einträge erzeugen, wie mit gelöschten Usern. Obiges System löst dies, indem der Personenkreis aus der Berechtigungsgruppe entfernt wird. Ich muss die Berechtigungen der einzelnen Ordner und Dateien nicht anfassen.
  • Arbeitskreise können ihr Arbeitsportfolio ändern, insbesondere Arbeitspakete an andere Arbeitskreise weitergeben. Ich muss aber nicht nach den Ordnern und Dateien suchen, auf die diese Personengruppe Berechtigungen hatte, was nicht effizient durchführbar wäre. Stattdessen hänge ich nur die Personengruppen an andere Berechtigungsgruppen.
  • Berechtigungsgruppen hingegen verändern sich nicht. Die Gruppe, die die Berechtigung repräsentiert, auf z.B. den Ordner „Finanzen“ zugreifen zu dürfen, wird dies auch nach unzähligen Personenveränderungen und Arbeitskreisveränderungen noch tun.

Technische Umsetzung der Verwaltung

Die Verwaltung gliedert sich in 3 Teilgebiete

  • User und Gruppen
    Diese werden in der Univention Management Konsole (am UCS) erstellt und zu einer sinnvollen Struktur zusammengesetzt, ggf. modifiziert oder wieder gelöscht. Es handelt sich um Active-Directory-User und -Gruppen, die global für die gesamte IT der Mauerseglerei einsetzbar sind.
  • Netzwerkorder
    Der SMB-Share (Samba) wird so konfiguriert, dass er den Anforderungen genügt (z.B. ACL, recht freigiebige Grundberechtigungen,…)
  • Dateien und Ordner
    Die Berechtigungen werden für so wenige Ordner wie möglich gesetzt und nur über Gruppen geregelt. (Näheres siehe weiter oben)

Es ist noch nicht abschließend geklärt welche Berechtigungen auf Ordnerebene und welche auf Share-Ebene gehandhabt werden. Da wir ZFS auf einem TrueNAS-Gerät verwenden, haben wir die Möglichkeit Ordner als „Datasets“ zu erstellen, die ACL-Berechtigungen, Quotas und noch mehr zur Verfügung stellen. In TrueNAS werden Shares typisch aus Datasets erstellt. Diese Shares verwenden dann sehr freigiebige Berechtigungen, da das Dataset bereits die nötigen Einschränkungen trifft. Dadurch wird die Komplexität verringerrt und die Wertbarkeit verbessert. Der Umstand, dass all dies im Webinterface unter files.mauerseglerei.at administriert werden kann, ist verlockend. Gleichzeitig sollte man sich fragen, ob jeder Ordner mit individuellen Berechtigungen auch gleich ein Dataset sein soll. Offen ist auch noch die Frage, ob man Shares ineinander schachteln sollte (tendentiell eher nein).

Berechtigungen bei Dateien und Ordnern setzen

Dieser Abschnitt sollte in einen eigene Artikel für Admins ausgelagert werden.

Berechtigungen bearbeiten unter Windows
Berechtigungen bearbeiten mit eiciel

Die Bearbeitung von Datei- und Ordnerberechtigung mittels ACLs erfolgt entweder mit Kommandozeilentools, betriebssystemeigenen Mitteln oder auch graphischen Tools

  • Linux
    • auf der Kommandozeile mittels über getfacl und setfacl,
    • im GUI mit dem tool eiciel (Details im Artikel ACL)
  • Windows
    über das graphische User Interface: Rechtsklick > Eigenschaften > Sicherheit

Wichtig ist, Folgendes zu beachten, wenn manRemote auf die Daten zugreift und Berechtigungen bearbeiten möchte: Man muss sich die IP-Adresse des bevorzugten DNS Servers so einrichten, dass diese auf den Univention Corporate Server verweist. Ansonsten werden die Secuirty-Identifier nicht korrekt aufgelöst. (D.h. man sieht Nummern, statt Namen)

Richtlinien für Administrator_innen

Dieser Abschnitt überschneidet sich mit dem Artikel Rolle Ordner-Admin „owner“. Auslagern in eigenen Artikel, der von beiden refernziert wird.

Genauso wie eine sinnvolle, intuitive und nachhaltige Ordnerstruktur (in diesem Artikel habe ich u.A. separat Best Practices zum Thema Ordnerstruktur gesammelt) absolut notwendig für effizientes Arbeiten in der EDV ist, so ist eine entsprechende Berechtigungsvergabe sinnvoll, um eine solche möglichst lange zu erhalten und den Nutzen einer solchen auch möglichst langfristig zu gewährleisten.

Ich habe aus einer Vielzahl an Online-Quellen einige herausgesucht, die die Erfahrungen in Betrieben auf den Punkt bringen und diese umformuliert, zusammengefasst und auf deutsch übersetzt.

Best Practices

  • Verwendung von Standard-Berechtigungen
    Auch wenn es für die gruppenspezifischen Ordner auch individueller Berechtigungen bedarf ist es sinnvoll ein Set an Standardberechtigungsgruppen zu haben. Dazu gehören z.B. eine Administrator-Berechtigungsgruppe, die Vollzugriff auf alle Ressourcen hat, eine Mauerseglerei-User-Gruppe, die einfach alles lesen darf und eine globale Sperr-Gruppe um einem User mit einem Schlag alle Rechte zu entziehen.
  • Das Berechtigungs-Schema so simpel als möglich gestalten
    Eigentlich selbstsprechend. So simpel als möglich und so komplex wie nötig. Aber zwischen diesen Dingen gibt es keine harte Grenze. Viele Restriktionen entstehen aus Vorsicht, manchmal kann man aber auch mit den Menschen arbeiten und ihnen vertrauen.
  • Verwende Berechtigungsgruppen
    Der Grund hierfür ist im Abschnitt „Gruppen“ weiter oben bereits ausführlich dargelegt.
  • Gib Berechtigungsgruppen prägnante und intuitive Namen
    Wie oben erwähnt ist es notwendig aus der Gruppe die zu berechtigende Ressource herauslösen zu können.
  • Definiere Gruppen, die Abteilungen repräsentieren
    Dies ist, was ich in obigem Kapitel „Personengruppen“ genannt habe. Dies spart einfach arbeit, da ich, wenn eine neue Ressource (also Ordner) und damit Berechtigungsgruppe hinzukommt, diese nur der Personengruppe zur Verfügung stellen muss und nicht jeder einzelnen Person.
  • Wie man letztendlich gültige Berechtigungen ermittelt
    (Anmerkung der Mauerseglerei-IT: Wir profitieren wenig von diesen Prinzip, da wir sehr wenige verschiedene Netzwerkfreigaben haben werden.)
    Die Berechtigung, die sich aufgrund der einzelnen, oft überschneidenden Berechtigungen ergibt ist oft nicht trivial zu erkennen. Das Wissen um folgendes Prinzip hilft allerdings: „loose, loose, tight“
    • Lockere Datei- und Ordnerberechtigungen (also die Ordner innerhalb eines Shares betreffend): Wenn der User über verschiedene Wege mehrere Berechtigungen erhält, so gilt die freigiebigste.
    • Lockere Netzwerkordnerberechtigungen (also die Samba-Freigabe betreffend): Hier gilt das gleiche wir vorhin.
    • Streng hingegen sind die effektiven Berechtigungen: Wenn sich die Berechtigungen der Netzwerkfreigabe und der Datei-/Ordnerberechtigungen widersprechen, so gilt die restriktivste Regel.
  • Verwende nie die „Everyone“-Gruppe
    Dies hat vor allem etwas mit den Standard-Einstellungen zu tun. Laut diesen hat die „Jeder“-Gruppe oftmals die berechtigung „Vollzugriff“. Es kann sehr schnell passieren, dass man in irgendwelchen Einstellungen den Standard belässt und in Windeseile hat man User, die das gesamte Berechtigungssystem aushebeln.
  • Vermeide Ordner-Wildwuchs
    Wenn man Usern die Freie Hand über Verzeichnisbäume lässt so wachsen diese sehr schnell in die Breite (und üblicherweise kaum in die Tiefe. Das Problem ist, dass sich – ebenso sehr schnell – User darüber zu beschweren beginnen, dass man Dateien nicht mehr rsch findet. Daher ist es sinnvoll die nahe dem Wurzelverzeichnis liegenden Ordner die IT erstellen zu lassen und die Wünsche der User dahingehend zu erfüllen, dass man mit diesen Rücksprache hält. Tatsächlich kann es auch ein Problem mit der Tiefe der Datenstruktur geben. Alte Windows-Geräte haben ein 255 Zeichen Limit für Dateipfade. Da derart zu lange Dateipfade üblicherweise durcch Verschachtelung von Ordnern enstehen sind die Problemstellen oft nicht leicht auszumachen,
  • Erstelle eine „Global Deny Group“
    Manchmal ist es nutwendig einem User so rasch es geht alle Berechtigungen zu entziehen. Der einfachste Weg ist eine globale Zugriff-Verweigert-Gruppe zu erstellen und u.A. der Netzwerkfreigabe vom Start weg diese Gruppe in den Einstellungen als jene, die den Zugriff verweigert, zu hinterlegen. Damit muss nicht erst gesucht werden, zu welchen Gruppen der User gehört.
  • Konstantes nachbessern der Ordner und Berechtigungsstruktur
    Die Degradierung des Systems ist ein natürlicher Prozess und auch ein guter Start schützt einen nicht davor sondern reduziert nur deren Geschwindigkeit. Wenn sich Berechtigungen oder die Ordnerstruktur ändern sollten die daran beteiligten Komponenten geprüft werden. Ganz Generell wird eine Analyse (ein Audit) der Berechtigungen einmal pro Jahr empfohlen.
  • Habe stets einen Notfall-Plan
    Schadsoftware (Viren) sind etwas, das sich wunderbar über Netzwerkordner verbeiten lässt. Was tun im Falle des Falles? Besser vorher einen Plan entwickeln. Anmerkung der Mauerseglerei IT: Wir können es uns leisten im Zweifelsfall Systeme offline zu nehmen, offline Virenscanner drüber laufen zu lassen, Backups in Ruhe einzuspielen, etc.
  • Stelle den Usern zentral verwaltete Verknüpfungen zur Verfügung.
    In Firmennetzwerken lassen sich Verknüpfungen durch die IT-Admins an praktischen Stellen wie dem Desktop des Users einrichten, die dann dem User jede Menge Zeit sparen. Diese Option steht uns nicht zur Verfügung, da die Geräte der User nicht zentral gewartet werden. es ist aber ein Tipp, den man den usern jedenfalls nahe bringen sollte.

Quelle: https://www.itprotoday.com/strategy/12-commandments-file-sharing

Weitere Tipps

  • Sparsam mit der Berechtigung „Vollzugriff“ umgehen.
    Dies beinhaltet nämlich auch das Verändern von Ordnerberechtigungen. Dies gibt dem User ein gefährliches Werkzeug in die Hand. Er kann damit die Berechtigungsstruktur aller untergeordneter Ordner verändern. In quasi allen fällen ist Vollzugriff für die User auch nicht nötig.
  • Beschränke die Rechte der User soweit als möglich
    Wichtig ist dabei, dass sie ihren Aufgaben ungehindert nachgehen können. Beispielsweise: Wenn ein User Daten nur lesen können muss, aber nicht verändern können muss, dann genügen Leseberechtigungen. Anmerkung der Mauerseglerei-IT: Wir werden allerdings mit Leseberechtigungen sehr frei umgehen, da wir Transparenz fördern wollen.
  • Vermeide es, die Vererbung von Berechtigungen zu brechen
    Üblicherweise sollten Berechtigungen sich von Ordnern auf Unterordner und von übergeordneten Gruppen auf Untergruppen vererben, also weitergegeben werden. Natürlich wird es Ausnahmen geben. Aber grundsätzlich gilt, wenn eine Vererbung gebrochen werden müsste, dann ist es oftmals sinnvoller den Ordner, der restriktivere Rechte aufweist, als deren übergeordneter Ordner, aus diesem zu entfernen und eine Ebene weiter Oben anzusiedeln.
  • Stelle sicher, dass nur die IT Ordner im Wurzelverzeichnis erstellen kann.
    Selbst Personen in Leitungspositionen sollten diese Rechte nicht erhalten.
  • Ordne Ressourcen so an, dass alles, was mit gleichen Berechtigungen verknüpft ist (und bleiben wird) im selben Ordner liegt.
    In Zweifelsfall ist es oft ratsam gemeinsame übergeordnete Ordner für solche Ressourcen zu erstellen. Dadurch muss man die Rechte nicht für jedes untergeordnete Objekt einzeln vergeben.
  • Aktiviere access-based enumeration.
    Das bedeutet ein User sieht in einem Ordner nur jene Objekte, die er/sie auch sehen sollte.
  • Vermeide es Netzwerkordner innerhalb von anderen Netzwerkordnern zu erstellen.
    Es sollte immer nur eine Pfad zu einer Datei oder einem Ordner geben. Alles andere kan zu widersprüchlichen berechtigungen oder Konfigurationen führen. 
  • Überlege, wann du kopierst und wann du verschiebst.
    Diese beiden Dateioperationen haben unterschiedliche Konsequenzen für die Berechtigungen. Kopieren erstellt neue, equivalente Berechtigungen für das Objekt innerhalb des Ordners, in den es hineinkopiert wurde. Verschieben hingegen erhält die Berechtigungen des übergeordneten Ordners. Hilfssprücherl: CC/MM — Copies Create, Moves Maintain.

Quelle: https://www.netwrix.com/ntfs_permissions_management.html

Worst Practices

  • Zugriff auf Ressourcen direkt über den User erteilen
    Es mag wie eine einfache, komfortable Lösung aussehen. Ein User braucht Zugriff auf einen Ordner, daher gibt man diesem die Rechte einfach. Leider zerstört man sich damit binnen kürzester Zeit die Übersicht „wer darf was“, wenn man derart vorgeht, anstelle jede Berechtigung durch eine Gruppe abzubilden und den User Teil dieser Gruppe sein zu lassen. Man kann im zentralen Benutzerverwaltungssystem jederzeit nachschauen, welcher User in welcher Berechtigungsgruppe ist. Was nicht funktioniert, ist schnell mal abzufragen auf welche Dateien und/oder Ordner ein User Rechte hat. Noch schlimmer ist es, wenn der User eines Tages gelöscht wird. Dann findet man in der Datei eine Berechtigung vor, die eine sogenannte „orphaned SID“ aufweist.
  • Organisationseinheiten mit Berechtigungsgruppen gleichsetzen
    Organisationseinheiten, bei uns z.B. Arbeitskreise, werden oftmals mit Berechtigungsgruppen gleichgesetzt. Das oftmals sehr problematische Resultat ist, das gleiche wie im vorangehenden Punkt: Übersichtlichkeit und Nachvollziehbarkeit geht verloren, und wenn eine solche Personengruppe, die gleichzeitig eine Berechtigungsgruppe wäre, gelöscht wird, bleiben sogenannte verwaiste Einträge zurück. Außerdem überstehen solche Gruppen strukturelle Änderungen an den Verzeichnissen meist nicht unbeschadet.
  • Recycling von Berechtigungsgruppen
    Eine Berechtigunsgruppe sollte einen Zweck haben und nicht aus Bequemlichkeit um weitere Zwecke erweitert werden. Es ist nicht selbstverständlich, dass man weiß welche User oder Personengruppen an der Gruppe dran hängen. Man erweitert den Funktionsumfang und eventuell haben dann User Berechtigungen, die sie vorher nicht hatten, aber ohne jegliche Notwendigkeit. Abgesehen davon sagt der Gruppenname dann nicht mehr so genau aus, was die Gruppe eigentlich machen sollte.
  • Konventionen missachten
    Konventionen einhalten ist oftmals unbequem, rentiert sich allerdings auf lange Sicht. Man hat ein Set an Regeln, und aus diesem kann man die Bedeutung aller Elemente in der Verwaltung ableiten. man muss nicht dauernd hinterfragen, was sich der damalige Admin denn bei dieser oder jener Aktion gedacht hat. bricht man Konventionen steigt das maß an Chaos mit der Zeit an, bis das System so unüberschaubar wird, dass es weder von Mitarbeitenden benutzt noch von anderen Admins gewartet werden will.

Quelle: https://www.tenfold-security.com/en/set-ntfs-permissions/

Berechtigungen testen

Um sicherzustellen, dass das System sicher ist, ist es unter anderem nötig zu sehen, dass die Verbote (siehe gleichnamiges Kapitel oben) auch greifen.

Der Ordner für Tests befindet sich unter folgendem Pfad:

\\files.mauerseglerei.at\Mauerseglerei\Test

Dieser Ordner wird gelöscht werden, sobald der Netzwerkordner für die Mauerseglerei offiziell in Betrieb geht.

Es gibt drei Testuser

  • Test_FS_R
  • Test_FS_W
  • Test_FS_O

Diese sind jeweils (über eine dazwischen Geschaltene User-Gruppe) in folgenden Berechtigungsgruppen enthalten.

  • M_FS_R_Test (=Read, d.h. Lesezugriff)
  • M_FS_W_Test (=Write, d.h. Änderungszugriff)
  • M_FS_O_Test (=Own, d.h. Admin-Zugriff)

Auf unsere Testobjekte werden niemals einzelne User berechtigt, sondern immer nur Gruppen wie oben genannte.

Wir werden folgende Arten an Objekten zum Testen(in allen Varianten an Berechtigungen) erstellen

  • Ordner mit Inhalt
  • Textdateien (die man mit einem primitiven Editor öffnet)
  • Dokumente (die man mit einem hochentwickeltem Programm öffnet, wie z.B. Microsoft Word)

Aufstellung der Fälle soll entsprechend der Liste an Verboten (siehe Kapitel oben) erfolgen und die Ergebnisse schriftlich dokumentiert werden.

Mögliche Komplikation: Da sich der Ordner „Test“ in „Mauerseglerei“ befindet und es in jener die Berechtigungsgruppen M_FS_R_Mauerseglerei und M_FS_O_Mauerseglerei gibt, die vererbt werden, könnte es zu Verfälschungen der Tests kommen. D.h. entweder genau darauf achten, wer derzeit in genannten Gruppen ist und diese ggf. aus diesen temporär entfernen (im UCS) oder die Vererbung in den Ordner Test hinein löschen (Aufpassen, dass man sich dabei nicht selbst aller Rechte beraubt und damit aussperrt).

Weitere Literatur

Verwandte Artikel

Access Control List (ACL) 5.12.2020 03:23 by Adrian_Kowar Posted in: System-Software ACL ist eine Software-Technik mit der Betriebssysteme und Apps Zugriffe auf Dateien und Ordner beschränken können. Im klassischen UNIX-Berechtigungsmodell gab es nur den User (Owner), die… Weiterlesen
ACL mit Samba und ZFS 28.7.2019 19:13 by Adrian_Kowar Posted in: File-Server Wir brauchen die ACL (access control lists) damit Windows-User, die auf die SMB-Shares am File-Server zugreifen, wie gewohnt Berechtigungen an Dateien und Ordner bearbeiten können. Unter… Weiterlesen
Berechtigungen für Dateien und Ordner 28.7.2019 22:14 by Adrian_Kowar Posted in: User-Management Bei Mehrbenutzersystemen (z.B. einem von verschiedenen Leuten benutzten PC oder einem Netzwerkordner) dienen Berechtigungen dazu den Zugriff auf Ressourcen für User oder Gruppen zu regeln. Berechtigungen… Weiterlesen
Fileserver 18.7.2019 14:42 by Adrian_Kowar Posted in: Service Wohin nur mit unseren Daten? Ein Fileserver ist Server, dessen Aufgabe es ist anderen Netzwerkgeräten (z.B. Computer) Zugriff auf Dateien zu ermöglichen. Hierbei werden Ordner und… Weiterlesen
Samba 18.7.2019 15:31 by Adrian_Kowar Posted in: System-Software Samba ist ein FOSS Softwareprodukt, das eine Vielzahl an Funktionen umfasst: Datei-Dienste, konkret über das SMB/CIFS-Protokoll, wie man es von Microsoft Windows kennt. Daher optimal geeignet… Weiterlesen
Samba Share + Active Directory Einbindung 28.6.2019 20:58 by Adrian_Kowar Posted in: File-Server Dieser Artikel wird aufgelöst werden. Grund: Überschneidungen mit Active Directory Einbindung von Linux mit winbind. Als einzigartige Information verbleibt hier die Erstellung von SMB-Shares. Ziel dieses… Weiterlesen
TrueNAS 5.12.2020 01:55 by Adrian_Kowar Posted in: Server-Software TrueNAS TrueNAS ist ein dediziertes Fileserver-Betriebssystem basierend auf FreeBSD, das von Haus aus und ohne Lizenz-Konflikte das Filesystem ZFS verwendet. Wir verwenden dieses System auf unserem… Weiterlesen

Zuletzt bearbeitet am 9. Mai 2022 von Adrian_Kowar

1 Response

  1. Servus Adrian, in diesem Absatz gehört in der zweiten Zeile „keine“ gelöscht! 😉

    „Man kann in einem untergeordneten Ordner aber auch festlegen, dass explizit eigene Regeln an diesem Ort gelten sollten und z.B. ein User dort dadurch seine keine Zugriffsrechte verliert. Man spricht hier von einer gebrochenen Vererbung. Dies wird nur eingesetzt, wenn es unbedingt sein muss.“

Schreibe einen Kommentar