Ordnerberechtigungen prüfen
Die bestehenden Ordnerberechtigungen können im Django-Administrationsbereich eingesehen werden.
Dazu:
Administration → Filer → Folder permissions / Ordnerberechtigungen
Dort werden die hinterlegten Berechtigungen für die Ordner der Medienverwaltung angezeigt.
Bei der Prüfung sollte insbesondere auf folgende Angaben geachtet werden:
- Ordner – Für welchen Ordner gilt die Berechtigung?
- Benutzer – Ist die Berechtigung direkt einer einzelnen Person zugeordnet?
- Gruppe – Ist die Berechtigung einer Django-Gruppe zugeordnet?
- Berechtigungen – Welche Aktionen sind innerhalb des Ordners erlaubt?
Nach Möglichkeit sollten Berechtigungen über Gruppen und nicht direkt über einzelne Benutzer vergeben werden. Dadurch bleiben die Berechtigungen auch bei personellen Änderungen übersichtlich und nachvollziehbar.
Neue Ordnerberechtigung anlegen
Um eine neue Berechtigung anzulegen:
- Django-Administration öffnen.
- Zu Filer → Ordnerberechtigungen wechseln.
- Ordnerberechtigung hinzufügen auswählen.
- Den betreffenden Ordner auswählen.
- Die gewünschte Gruppe oder gegebenenfalls einen einzelnen Benutzer auswählen.
- Die benötigten Berechtigungen aktivieren.
- Die Änderung speichern.
Je nach eingesetzter django-filer-Version stehen dort beispielsweise Berechtigungen zum
- Anzeigen bzw. Lesen,
- Bearbeiten und
- Hinzufügen von Dateien bzw. Unterordnern
zur Verfügung.
Es sollten immer nur die Berechtigungen vergeben werden, die für die jeweilige Aufgabe tatsächlich benötigt werden.
Bestehende Berechtigung ändern
Soll eine bereits vorhandene Berechtigung erweitert oder eingeschränkt werden:
- Filer → Ordnerberechtigungen öffnen.
- Die bestehende Berechtigung für den betreffenden Ordner auswählen.
- Benutzer bzw. Gruppe und die gesetzten Berechtigungen kontrollieren.
- Die benötigten Änderungen vornehmen.
- Speichern.
Vor einer Änderung sollte geprüft werden, ob möglicherweise mehrere Berechtigungseinträge für denselben Ordner bzw. für übergeordnete Ordner existieren.
Insbesondere sollte nicht vorschnell eine zusätzliche Berechtigung angelegt werden, wenn bereits eine passende Gruppenberechtigung vorhanden ist.
Berechtigung entfernen
Wird eine Berechtigung nicht mehr benötigt, kann der entsprechende Eintrag unter
Filer → Ordnerberechtigungen
entfernt werden.
Vor dem Löschen sollte geprüft werden, ob die betreffende Gruppe oder Person die Berechtigung noch für andere redaktionelle Aufgaben benötigt.
Berechtigungen eines Benutzers prüfen
Wenn eine Person einen Ordner nicht sehen oder dort keine Dateien hochladen bzw. bearbeiten kann, sollten folgende Punkte nacheinander geprüft werden:
- Besitzt die Person grundsätzlich Zugriff auf die Django-Administration bzw. die Medienverwaltung?
- Ist die Person Mitglied der erwarteten Django-Gruppe?
- Besitzt diese Gruppe die notwendigen allgemeinen Django-/Filer-Berechtigungen?
- Existiert für den betreffenden Ordner eine entsprechende Ordnerberechtigung?
- Gilt möglicherweise bereits eine Berechtigung eines übergeordneten Ordners?
- Wurde die Berechtigung versehentlich direkt einem anderen Benutzer oder einer anderen Gruppe zugeordnet?
Für die Fehlersuche ist es daher sinnvoll, zunächst die Gruppenmitgliedschaft und anschließend die Ordnerberechtigungen zu kontrollieren.
Allgemeine Django-Berechtigungen
Zusätzlich zu den Ordnerberechtigungen verwendet django-filer die normalen Berechtigungen des Django-Administrationssystems.
Diese werden üblicherweise über Django-Gruppen vergeben.
Je nach verwendeter Version und Konfiguration können beispielsweise Berechtigungen für folgende Filer-Objekte relevant sein:
- Dateien
- Bilder
- Ordner
Die konkreten Berechtigungen einer Gruppe können unter
Administration → Authentifizierung und Autorisierung → Gruppen
eingesehen werden.
Dort sollte geprüft werden, welche filer-Berechtigungen der betreffenden Gruppe zugeordnet sind.
Empfohlenes Vorgehen
Berechtigungen sollten nach Möglichkeit immer nach folgendem Schema vergeben werden:
Benutzer → Gruppe → allgemeine Filer-Berechtigung → Ordnerberechtigung
Direkte Berechtigungen für einzelne Benutzer sollten nur in begründeten Ausnahmefällen verwendet werden.
Dieses Vorgehen erleichtert:
- die spätere Nachvollziehbarkeit,
- Änderungen bei Personalwechseln,
- die Fehlersuche bei fehlenden Berechtigungen und
- eine einheitliche Berechtigungsverwaltung.
Beispiel
Eine Redaktionsgruppe soll Dateien innerhalb des Ordners
Fakultäten → Beispiel-Fakultät
verwalten dürfen.
Dafür wird:
- geprüft, ob die Redakteurinnen und Redakteure Mitglied der vorgesehenen Django-Gruppe sind,
- geprüft, ob die Gruppe grundsätzlich die benötigten Filer-Berechtigungen besitzt,
- unter Filer → Ordnerberechtigungen eine Berechtigung für den Ordner Beispiel-Fakultät und die entsprechende Gruppe angelegt bzw. geprüft,
- nur die für die redaktionelle Arbeit benötigten Rechte aktiviert.
Anschließend sollte die Funktion nach Möglichkeit mit einem Benutzer der betreffenden Gruppe getestet werden.
Hinweis zu Dateien und Zugriffsschutz
Die Ordnerberechtigungen des Filers regeln in erster Linie die Verwaltung der Dateien innerhalb des Django-Administrationsbereichs.
Sie bedeuten nicht automatisch, dass eine hochgeladene Datei auch gegenüber einem direkten öffentlichen Aufruf ihrer URL geschützt ist.
Ein solcher Zugriffsschutz auf die eigentlichen Dateien muss separat technisch eingerichtet werden.
Bei Problemen
Wenn trotz korrekt erscheinender Berechtigungen kein Zugriff möglich ist, sollten für die Prüfung folgende Informationen angegeben werden:
- betroffener Benutzer,
- betroffene Gruppe,
- vollständiger Pfad des Ordners in der Medienverwaltung,
- gewünschte Aktion, z. B. Anzeigen, Hochladen, Bearbeiten oder Löschen,
- gegebenenfalls die angezeigte Fehlermeldung.
Damit kann geprüft werden, auf welcher Ebene die erforderliche Berechtigung fehlt.