Gewähren Sie Zugriff auf ein Unterverzeichnis, ohne Zugriff auf übergeordnete Verzeichnisse zu gewähren


12

Ich habe ein Szenario mit einem Windows-Dateiserver, in dem der "Eigentümer" Berechtigungen an eine Gruppe von Benutzern der folgenden Art vergeben möchte:

  • \\server\dir1\dir2\dir3: lesen, schreiben und ausführen
  • \\server\dir1\dir2: keine Berechtigungen
  • \\server\dir1: keine Berechtigungen
  • \\server: lesen und ausführen

Nach meinem Verständnis ( Update : Dieser gesamte Absatz ist falsch!) Ist dies nicht möglich, da allen übergeordneten Verzeichnissen in einer Verzeichniskette die Read & ExecuteBerechtigung erteilt werden muss, damit das Betriebssystem das untergeordnete Verzeichnis "sehen" kann Verzeichnisse und kommen zu ihnen. Ohne diese Berechtigung kann man nicht einmal erhält die Sicherheitskontext - Token beim Versuch , das verschachtelte Verzeichnis zugreifen, auch wenn Sie vollen Zugriff auf das Unterverzeichnis haben.

Wir suchen nach Möglichkeiten, dies zu umgehen, ohne die Daten von \\server\dir1\dir2\dir3nach zu verschieben \\server\dir4.

Eine Problemumgehung, an die ich gedacht habe, bei der ich mir jedoch nicht sicher bin, ob sie funktionieren wird, ist das Erstellen einer Art Link oder Junction, auf \\server\dir4die verwiesen wird \\server\dir1\dir2\dir3. Ich bin nicht sicher, welche der verfügbaren Optionen (falls vorhanden) für diesen Zweck funktionieren würde, wenn der Benutzer keine Read & ExecuteBerechtigung für \\server\dir1\dir2oder hat \\server\dir1, aber soweit ich weiß, sind die Optionen folgende:

  • NTFS Symbolic Link,
  • Kreuzung,
  • Harte Verbindung.

Also die Fragen:

  • Ist eine dieser Methoden geeignet, um mein Ziel zu erreichen?
  • Gibt es andere Methoden zum Verknüpfen oder indirekten Verweisen auf ein Verzeichnis, die ich oben nicht aufgeführt habe und die möglicherweise geeignet sind?
  • Gibt es direkte Lösungen, Read & Executebei denen der Zugriff nicht gewährt \\server\dir1oder \\server\dir2dennoch gewährt wird \\server\dir1\dir2\dir3?

Das ist möglich. Der Benutzer würde das Verzeichnis sehen, aber wenn ihm keine Leseberechtigung erteilt wird, kann er den Inhalt des Verzeichnisses überhaupt nicht sehen, was einfach einzurichten ist.
Ramhound

Das war auch meine Frage. Vielen Dank für die Diskussion. Und für die Aktualisierung Ihrer Frage, um sofort zu reflektieren, dass Ihre Annahme falsch war.
Tyron

Antworten:


14

Sie irren sich in Ihrer ursprünglichen Annahme, die den Rest Ihrer Frage in Frage stellt.

Die Mindest Erlaubnis , dass ein Benutzer müssen auf würde dir1und dir2ist Traverse Directory. Dies wird jedoch höchstwahrscheinlich für Ihre Benutzer problematisch sein - daher würde ich Traverse Directory und empfehlen List Folders. Sie können durch die beiden obersten Verzeichnisse navigieren und dorthin gelangen, dir3wo sie mehr Berechtigungen haben, sehen jedoch nicht einmal, welche Dateien in den beiden obersten Verzeichnissen vorhanden sind.

Berechtigungen wie Read & Executeund Modifysind nur Sammlungen einzelner Berechtigungen. Sie sind das erste, was Sie sehen, weil sie am häufigsten verwendet werden. Wenn Sie sehr detailliert werden müssen (wie in dieser Situation), klicken Sie auf die AdvancedSchaltfläche und stöbern Sie in den dort aufgeführten Optionen.


Hervorragende Informationen (2)! Aber es gibt etwas, das ich nicht nachgeholt habe: "Dies wird jedoch höchstwahrscheinlich für Ihre Benutzer problematisch sein". Warum sollte es problematisch sein? Die Benennung ist ziemlich einfach in dem Sinne, dass "Traverse" die einzig benötigte Erlaubnis zu sein scheint. Welche Probleme sollten Benutzer erwarten?
Tyron

12

Erstaunlicherweise benötigen Personen, die über den vollständigen Pfad zu einem Unterordner verfügen, für den sie mindestens R-Berechtigungen haben, KEINE Berechtigungen für einen der übergeordneten Ordner, auch nicht für das Durchlaufen. Sie können einfach über die UNC darauf zugreifen. (Sie müssen natürlich über Leseberechtigungen für die Freigabe verfügen, jedoch nicht für Ordner, die über der Ebene liegen, auf die sie zugreifen möchten.)

Ich habe das nicht geglaubt, als mir gesagt wurde, aber Tests beweisen es.

Dies steht im Widerspruch zu dem, was ich über Berechtigungen in der Windows-Welt zu wissen glaubte, und ich vermute, dass dies für viele eine Überraschung sein wird.

\ server \ folder1 \ folder2 \ folder3

Wenn es für Bilbo überhaupt keine Berechtigungen für Ordner1 und Ordner2 gibt, Bilbo jedoch Änderungen (zum Beispiel) für Ordner3 vorgenommen hat, führt ihn \ server \ Ordner1 \ Ordner2 \ Ordner3 direkt dorthin, kein Problem.


Dies funktioniert, wenn folder1SHARE-Berechtigungen und NTFS-Berechtigungen aktiviert sind. Dies funktioniert folder3also \\server\c$\folder1\folder2\folder3nicht.
user2304170

1
Um diese Antwort zu ergänzen, wird diese implizite "Fähigkeit", übergeordnete Ordner in einen noch so tiefen Unterordner zu übertragen, auf den Sie Zugriff haben, durch das Benutzerrecht "Bypass Traverse Checking" gewährt, das in den Gruppenrichtlinien standardmäßig für die meisten / alle Benutzer gewährt wird in den meisten Fällen. Siehe itprotoday.com/management-mobility/…, da ich hier nicht genug davon einfügen kann, um die Liste zu erfassen, was unter welchen Umständen die Erlaubnis erhält.
Turm

Bypass Traverse Checking als Recht ist auch als NTFS-Leistungsverbesserung verfügbar, um das Überspringen der Überprüfung der Berechtigungen jedes Ordners in der Baumstruktur auf dem Weg zum Öffnen des endgültigen gewünschten Ordners / der endgültigen gewünschten Datei zu ermöglichen. Es wird daher nicht empfohlen, ihn zu entfernen, es sei denn, Sie wissen, dass Sie ihn benötigen das extrem hohe Sicherheitsniveau.
Turm

1

Eine Lösung, die MDMarra ähnelt, besteht darin, die NTFS-Berechtigungen wie folgt festzulegen:

  1. dir1 : Inhalt des Listenordners gewähren (Ordner durchlaufen / Datei ausführen, Ordner auflisten / Daten lesen, Attribute lesen, erweiterte Attribute lesen, Leseberechtigungen)
  2. ABER wählen Sie diesen Ordner nur für Dropdown-Liste anwenden
  3. dir2 : Grant Inhalt des Ordnerordners und Nur auf diesen Ordner anwenden
  4. dir3 : Gewähren Sie die gewünschten Lese- / Schreibberechtigungen und wenden Sie sie auf diesen Ordner, Unterordner und Dateien oder nur auf Unterordner und Dateien an

Das Endergebnis ist, dass der Benutzer / die Gruppe jeden einzelnen übergeordneten Ordner lesen und ohne andere Ordner oder Dateien einen Drilldown zum untergeordneten Ordner durchführen kann.


Das ist nicht ähnlich zu MDMarras Antwort, das ist MDMarras Antwort, die detaillierter formuliert ist.
Scott

0

Daher habe ich dies in der folgenden Umgebung getestet, da ich eine endgültige, getestete Antwort auf die minimal erforderlichen Berechtigungen zum einfachen Durchsuchen von Ordnern über das Durchsuchen (dh über den Windows-Datei-Explorer) erhalten wollte. Hier sind die Ergebnisse für diejenigen, die die Dinge fest verschließen wollen.

Ich habe dies in der Produktion noch nicht getestet, um festzustellen, ob es merkwürdige Nebenwirkungen gibt, wenn die "standardmäßige", gut getestete Vorlage für Durchquerungsrechte von reduziert wird

  • Ordner durchlaufen
  • Listenordner
  • Attribute lesen
  • Lesen Sie ext. Attribute
  • Berechtigungen lesen

... was im Grunde genommen nur normale "Read And Execute" -Berechtigungen sind, die auf "This Folder" beschränkt sind. Allerdings waren Tests im kleinen Maßstab bisher für Benutzer, die Dateien auf dem Server einfach verschieben, kopieren und entfernen, und für Benutzer, die vollständig von den Serverkopien von Dokumenten usw. arbeiten, völlig in Ordnung.


Umgebung:

  • Server : Windows 2008 R2 - Wenig bis gar keine Gruppenrichtlinie, nichts geändert in Bezug auf Benutzerrechte, konfiguriert als Domänencontroller, AD-integriertes DNS, sehr Standard- / Grundeinstellung.
  • Client : Windows 7 SP1 - Neuinstallation in einer VM, Neustart zwischen allen Änderungen, um sicherzustellen, dass die Verbindung zum Server jedes Mal vollständig neu erstellt wurde.
  • Beide Installationen wurden mindestens bis Ende 2017 gepatcht, sodass sie wahrscheinlich für alle Berechtigungen im Zusammenhang mit Berechtigungen aktuell sind, die zu diesem Zeitpunkt in der Windows-Zeitleiste sehr integriert sind.
  • Dies war der Zugriff auf einen freigegebenen Ordner, der als dauerhaftes Netzlaufwerk (\ server \ share -> S :) in der VM bereitgestellt wurde. Die Freigabeberechtigungen lauteten "Lesen + Ändern für authentifizierte Benutzer" und decken den Testbenutzer und alle anderen Benutzer ab, die wahrscheinlich irgendwann Zugriff benötigen.
  • Nach jeder Änderung startete ich die VM neu, öffnete den Datei-Explorer und durchsuchte die Freigabe einfach normal. Dabei ging ich einen Pfad entlang, von dem ich wusste, dass der Testbenutzer diese Durchquerungsrechte für diejenigen hatte, die er nicht hatte.

Ergebnisse:

  • Erforderlich für den Stammordner: ListFolder-ReadData + ReadAttributes (2x Berechtigungen)
  • Erforderlich für Unterordner : ListFolder-ReadData (1x Berechtigung)
  • Optional : TraverseFolder - ExecuteFile

    -> Diese optionale Berechtigung ist nur wichtig, wenn das Benutzerrecht "Bypass Traverse Checking" ausdrücklich abgelehnt wurde, da es in 99% der Fälle standardmäßig aktiviert ist. Anders ausgedrückt, das aktivierte Benutzerrecht "Bypass Traverse Checking" (in Gruppenrichtlinien verfügbar, nicht in NTFS-Datei- / Ordnerberechtigungen), das aktiviert ist, macht dieses Privileg vollständig überflüssig und macht dieses Privileg standardmäßig überall aktiviert. Hinweis: Ich habe nicht getestet, ob eine explizite Verweigerung dieses Rechts wiederum dazu führen würde, dass das Benutzerrecht "Bypass Traverse Checking" in diesem bestimmten Fall nicht mehr wirksam wird.

Ergänzende Informationen: Das Benutzerrecht "Bypass Traverse Checking" ermöglicht es jemandem, passiv zu einem Unterordner zu wechseln, auf den er Zugriff hat, egal wie tief er ist (dh die Berechtigungen werden für diese Datei / diesen Ordner festgelegt, jedoch nicht unbedingt irgendwo weiter oben) den Dateipfad).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.