bleppsatter
Goto Top

Performance bei NTFS-Berechtigungen in Fileserver

Hallo,

ich habe aktuell die Aufgabe, die Zugriffsberechtigungen für etwa 1000 Projektverzeichnisse in einer Freigabe zu überarbeiten, wo jeder Domainuser grundsätzlich nur Leseberechtigung hat und für die Projekte, in denen er tätig ist, schreiben darf. Jetzt habe ich zwei Ansätze:

1. Ich setze für jeden Mitarbeiter die Berechtigung einzeln auf jedes Projekt. Die Zuordnung kann ich aus einer Datenbank entnehmen.
2. Ich erstelle für jedes Projekt eine zugehörige Gruppe mit Schreibberechtigung und füge die jeweiligen Mitarbeiter hinzu.

Was ist für jeden Ansatz Vor- und Nachteil vor allem in Hinsicht auf Performance? Klar, dass die Implementierung im ersten Ansatz viel aufwändiger ist, aber beim zweiten Einsatz ist auch die Tokenlänge der Authentifizierung zu berücksichtigen. Abgesehen davon, fallen euch noch Aspekte ein, die dabei zu berücksichtigen sind?

Vielen Dank im Voraus.

Gruß
BleppSatter

Content-ID: 327461

Url: https://administrator.de/contentid/327461

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

Kraemer
Kraemer 25.01.2017 um 13:44:01 Uhr
Goto Top
Moin,

ganz klar Ansatz 2. Lässt sich wesentlich leichter überblicken.

Gruß Krämer
vossi31
vossi31 25.01.2017 aktualisiert um 14:26:08 Uhr
Goto Top
Ja näturlich Ansatz 2, sonst fängst du ja wieder an wenn ein Mitarbeiterwechsel kommt.

Ich kann mir nicht vorstellen, dass Ansatz 1 einen merkbaren Performancegewinn bringen könnte.

Wenn du die Zuordnungen schon in einer Datenbank stehen hast lässt sich das Ganze ja auch scripten. Bei 1000 Ordnern könnte man darüber schon nachdenken. Dafür gibt es hier ja auch einige Top-Hilfen (und Helfer).

Henning
BleppSatter
BleppSatter 25.01.2017 um 14:33:40 Uhr
Goto Top
Und gibt es allgemeine Aussagen zur Performance in Abhängigkeit von den Berechtigungen? Also ich meine nicht das Anmelden in der Domäne, da weiß ich dass es abhängig von der Anzahl der Gruppen und Zugehörigkeiten ist, da sich daraus die Tokenlänge berechnet. Frage ist nur, ob das bei der Berechtigungsabfrage bei Zugriff auf einer Datei eine Rolle spielt oder zu vernachlässigen ist für meine Gegebenheiten.
vossi31
vossi31 25.01.2017 um 15:19:51 Uhr
Goto Top
Bei nur wenigen Rechte-Einträgen für einen Ordner ist es aus Performancesicht egal ob die über eine Gruppe oder direkt über Benutzer kommen.
Sind aber viele Benutzer berechtigt ist es schneller über eine Gruppe. Von dem Aspekten der Übersichtlichkeit und Verwaltbarkeit mal ganz abgesehen.
Kraemer
Kraemer 25.01.2017 um 15:28:35 Uhr
Goto Top
Zitat von @BleppSatter:

Und gibt es allgemeine Aussagen zur Performance in Abhängigkeit von den Berechtigungen?
KISS ist immer wieder ein geeigneter Tipp
emeriks
emeriks 25.01.2017 aktualisiert um 15:42:31 Uhr
Goto Top
Hi,
Und gibt es allgemeine Aussagen zur Performance in Abhängigkeit von den Berechtigungen? Also ich meine nicht das Anmelden in der Domäne, da weiß ich dass es abhängig von der Anzahl der Gruppen und Zugehörigkeiten ist, da sich daraus die Tokenlänge berechnet.
Wir haben Benutzer, welche 700 und mehr SID im Token haben. Dass bei denen deswegen die Performace der Anmeldung leidet, kann ich so nicht bestätigen.

Frage ist nur, ob das bei der Berechtigungsabfrage bei Zugriff auf einer Datei eine Rolle spielt oder zu vernachlässigen ist für meine Gegebenheiten.
Je größer die ACL, desto länger dauert bei jedem Zugriff die Berechtigungsprüfung.
Wenn wir von wenigen Mitarbeitern (Benutzerkonten) reden, dann macht es performance-technisch keinen Unterschied. Wenn es aber viele Benutzer sind, dann schon. Statt 20 oder 100 Benutzer in der ACL hat man dann nur 2-3 Gruppen drin.
Siehe auch A-G-DL-P-Prinzip.

E.
manuel-r
manuel-r 25.01.2017 aktualisiert um 15:44:59 Uhr
Goto Top
Ganz klar Möglichkeit 2 weil die Vorteile auf der Hand liegen:
Wenn ein Mitarbeiter bei einem Projekt ausscheidet oder neu in ein Projekt hinein kommt musst du bei der ersten Lösung jedes Projektverzeichnis neu anpacken und die Berechtigungen vergeben.
Bei der Lösung Mitarbeiter in Gruppe und der Gruppe die Berechtigung erteilen musst du nur einen Mitarbeiter aus der Gruppe entfernen oder neu hinzufügen.
Analog dazu bei Ersatz eines alten durch einen neuen Mitarbeiter. Bei der Gruppenlösung kopierst du einfach Domainuser ALT in Domainuser NEU. Fertig.

PS:
Ich würde bei der Gelegenheit auch gleich eine Gruppe je Projekt erstellen die Lesen darf und dort die Domänenbenutzer hinzufügen. Wer weiß schon ob übermorgen auch noch gilt, dass alle Benutzer in allen Projekten lesen dürfen...

Manuel
clSchak
clSchak 25.01.2017 um 16:40:31 Uhr
Goto Top
Hi

ganz klar Version 2 - und mach das via Batch, so das du in Zukunft nur noch einen Ordner erstellst, der die Gruppe anlegt und dann auch die Berechtigung setzt, dann musst nur noch die Projektkennung eingeben und alles ist damit erledigt, den Benutzer noch in die passende Gruppe geschoben (kann man auch direkt mit in das Script packen) und du erledigst alles mit sehr wenig Aufwand face-smile.

Ordnerberechtigung immer anhand von Gruppen vergeben (Ausnahme Home / Profil Ordner) ansonsten sucht man sich ja einen Wolf wenn ein Kollege plötzlich Einkauf statt Vertrieb machen soll und der nicht mehr in die Ordner der anderen Abteilung reinsehen darf face-smile

Gruß
@clSchak
DerWoWusste
DerWoWusste 26.01.2017 um 08:30:10 Uhr
Goto Top
@vossi31
Bei nur wenigen Rechte-Einträgen für einen Ordner ist es aus Performancesicht egal ob die über eine Gruppe oder direkt über Benutzer kommen.
Ja, aber: Lass nächstes Jahr jemanden darum bitten, auch noch aufgenommen zu werden...und mittlerweile sind dort unter Umständen schon 100.000 Dateien eingepflegt...da raspelt der Fileserver gehörig los, gerade, wenn die Änderung vom Client aus veranlasst wird (von der Admin-Workstation aus).
BleppSatter
BleppSatter 27.01.2017 um 11:55:00 Uhr
Goto Top
Batch hätte ich so oder so gemacht, keine Lust den Befehl 1000 Mal in die cmd zu hacken :D
Ich beuge mich der Vernunft und mache das über die Gruppen. Der für meine Verhältnisse und Gegebenheiten beste Weg ist mit dsadd group auf dem AD-Server die Gruppen anzulegen. Nun stehe ich da vor einer anderen Hürde, die aber eher gering ausfällt. Und zwar verlangt die Syntax von dsadd, dass ich die Gruppe bzw die Mitglieder mit "cn=xxxxx,cn=Users,dc=meinedomain,dc=lokal" angebe. Das ist für die Angabe der Gruppe kein Problem, allerdings bei den Mitgliedern wieder schwieriger, da diese in unterschiedliche Gruppen und OUs eingeordnet sind. Gibt es da ein kleines Tool, wo ich ihm das Kürzel des Mitarbeiters entweder mit "ABC" oder "meinedomain.lokal\ABC" übergebe und das Tool mir als Ergebnis den User in der cn,cn,dc,dc Form anzeigt? Wenn ich mich in der Domäne anmelde, geschieht dass ja auch mit "meinedomain\ABC" und Windows kann das entsprechend zuordnen.
emeriks
Lösung emeriks 27.01.2017 um 12:14:28 Uhr
Goto Top
z.B.
dsquery user
zeigt Dir die DN aller Benutzer der Domäne an.