chriscar
Goto Top

Windows: Ordner erstellen, in dem jeder nur die eigenen Dateien sehen kann?

Moin,

auf einem Windows-Server (Active Directory) möchte ich ein Verzeichnis erstellen, in dem jeder Dateien ablegen kann. Es soll dort allerdings jeder nur die eigenen Dateien sehen bzw. bearbeiten können. Quasi ein "elektronischer" Briefkasten.

Ist das mit Windows-Bordmitteln möglich?

Content-ID: 670899

Url: https://administrator.de/forum/windows-ordner-erstellen-in-dem-jeder-nur-die-eigenen-dateien-sehen-kann-670899.html

Ausgedruckt am: 27.01.2025 um 13:01 Uhr

Penny.Cilin
Penny.Cilin 23.01.2025 um 09:09:28 Uhr
Goto Top
Moin,

lese Dich in die Themen
  • Fileserver
  • Access Based Enumeration
ein.
Du findest im Internet und bei Microsoft genügend Informationen dazu.

Gruss Penny.
chriscar
chriscar 23.01.2025 um 09:41:09 Uhr
Goto Top
Okay, die "Zugriffsbasierte Aufzählung" (deutsch für "Access Based Enumeration"; der Server ist in deutscher Sprache eingerichtet) war nicht aktiviert, das habe ich jetzt nachgeholt.

Wie richte ich die Berechtigungen passend ein? Derzeit habe ich eine Gruppe "Briefkasten", die Lese- und Schreibrechte (kein Vollzugriff) auf dem Ordner hat. In "Briefkasten" sind die Personen Mitglied, die Dateien in dem Ordner ablegen können. Die darin abgelegten Dateien erhalten automatisch die Berechtigungen der Gruppe "Briefkasten" (Vererbung ist nicht aktiviert), womit alle Mitglieder von "Briefkasten" Zugriff auf die Dateien in dem Ordner haben - das ist also nicht die Lösung.
support-m
support-m 23.01.2025 aktualisiert um 10:28:29 Uhr
Goto Top
Hi,
du musst die NTFS-Berechtigungen auf den freizugebenden Ordner richtig setzen, die sollten korrekt sein (aufmerksam lesen, verstehen und vorher prüfen):

Administratoren > Vollzugriff > Dieser Ordner, Unterordner und Dateien
Domänen-Admins > Vollzugriff > Dieser Ordner, Unterordner und Dateien
SYSTEM > Vollzugriff > Dieser Ordner, Unterordner und Dateien
Authentifizierte Benutzer > Spezial > Ordner durchsuchen / Datei ausführen, Ordner auflisten/Daten lesen, Attribute lesen, Ordner erstellen/Daten hinzufügen > Nur diesen Ordner
ERSTELLER-BESITZER > Vollzugriff > Unterordner und Dateien

Mit der zugriffsbasierte Aufzählung sehen User nur Ordner und Dateien, auf denen sie mindestens lese-Recht besitzen. Dann den Ordner im Netzlaufwerk freigeben.

Viel Erfolg
MfG
DerWoWusste
DerWoWusste 23.01.2025 um 11:11:00 Uhr
Goto Top
Ich kann dir unsere mit icacls.exe ausgelesene ACL zeigen, die so funktioniert:

                               Everyone:(Rc,S,X)
                               Everyone:(OI)(CI)(W,RD,REA,RA)
                               CREATOR OWNER:(OI)(CI)(IO)(M)
                               domain\fileserveradmins:(OI)(CI)(F)
                               BUILTIN\Administrators:(OI)(CI)(F)
gastric
gastric 23.01.2025 aktualisiert um 11:29:15 Uhr
Goto Top
Per Powershell z.B. so Share und ACLs eingerichtet ...
# Freizugebender Ordner
$folder = 'E:\myshare'  
# Name des Shares
$sharename = 'myshare'  
# ---------------------------
# Ordner erstellen wenn noch nicht geschehen
if (!(Test-Path -Path $folder -PathType Container)){New-Item -ItemType Dir -Path $folder | out-null}
# Share erstellen
New-SmbShare -Path $folder -FolderEnumerationMode AccessBased -Name $sharename -ChangeAccess "Authentifizierte Benutzer"  
# ACLs ermitteln
$acl = Get-ACL -Path $folder
# Vererbung unterbrechen.
$acl.SetAccessRuleProtection($true,$false)
# ACLs hinzufügen
$acl.SetAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new([System.Security.Principal.SecurityIdentifier]::new('S-1-3-0'),'FullControl','ContainerInherit,ObjectInherit','InheritOnly','Allow'))  
$acl.SetAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new([System.Security.Principal.SecurityIdentifier]::new('S-1-5-18'),'FullControl','ContainerInherit,ObjectInherit','None','Allow'))  
$acl.SetAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new([System.Security.Principal.NTAccount]'Administratoren','FullControl','ContainerInherit,ObjectInherit','None','Allow'))  
$acl.SetAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new([System.Security.Principal.SecurityIdentifier]::new('S-1-5-11'),'ReadData,CreateFiles,AppendData,ExecuteFile,ReadAttributes','None','None','Allow'))  
# und zurückschreiben
Set-ACL -Path $folder -AclObject $acl
Gruß gastric
chriscar
chriscar 23.01.2025 um 17:06:49 Uhr
Goto Top
Vielen Dank für Euren Input! Mit den Hinweisen zu den NTFS-Berechtigungen komme ich meinem Ziel schon recht nahe. Auch das PowerShell-Skript finde ich sehr lehrreich.

ABE ist in meinem Fall nicht sinnvoll, weil ein Anwender eine kryptische Fehlermeldung erhält, wenn er eine Datei mit einem Namen anlegt, die bereits vorhanden ist, aber ihm bei aktivierter ABE nicht angezeigt wird, weil die bereits vorhandene Datei von einer anderen Anwenderin erstellt worden ist.
Xaero1982
Xaero1982 23.01.2025 um 19:22:11 Uhr
Goto Top
Zitat von @chriscar:

Vielen Dank für Euren Input! Mit den Hinweisen zu den NTFS-Berechtigungen komme ich meinem Ziel schon recht nahe. Auch das PowerShell-Skript finde ich sehr lehrreich.

ABE ist in meinem Fall nicht sinnvoll, weil ein Anwender eine kryptische Fehlermeldung erhält, wenn er eine Datei mit einem Namen anlegt, die bereits vorhanden ist, aber ihm bei aktivierter ABE nicht angezeigt wird, weil die bereits vorhandene Datei von einer anderen Anwenderin erstellt worden ist.

Das ist doch auch völlig logisch, wenn du nur einen Ordner benutzt.

Du solltest das eher so aufbauen:
Briefkasten\Benutzername
Bestenfalls nur das Verzeichnis des Benutzers einbinden.
Alle Dateien in einem Ordner halte ich für ziemlich problematisch und auch von den Rechten her wirst du da echtes Wirrwarr haben. Viel Spaß beim Suchen, wenn jemand gelöscht wird und seine Dateien dort liegen.
WoenK0
WoenK0 25.01.2025 um 13:40:38 Uhr
Goto Top
Ich ging immer davon aus, das ich das mit dem Homeverzeichnis bewerkstellige.....wenn ich mich da irre, bitte korrigieren...
chriscar
chriscar 27.01.2025 um 09:01:05 Uhr
Goto Top
Zitat von @Xaero1982:
Das ist doch auch völlig logisch, wenn du nur einen Ordner benutzt.

Du solltest das eher so aufbauen:
Briefkasten\Benutzername
Bestenfalls nur das Verzeichnis des Benutzers einbinden.
Alle Dateien in einem Ordner halte ich für ziemlich problematisch und auch von den Rechten her wirst du da echtes Wirrwarr haben. Viel Spaß beim Suchen, wenn jemand gelöscht wird und seine Dateien dort liegen.

Der Zweck dieses Ordners ist tatsächlich die Funktion eines Briefkastens. Die Mitarbeiter sollen dort - halbwegs vertraulich - Dateien ablegen können, die von der zuständigen Abteilung zeitnah abgeholt werden. Z.B. soll es einen Briefkasten-Ordner für die Lohn- und Gehaltsabteilung geben - diese Abteilung hat Vollzugriff auf den Ordner, während die Mitarbeiter aus allen Abteilungen Dateien in diesem Ordner nur ablegen können, aber eben so, dass kein anderer Mitarbeiter (außer denen der Lohn- und Gehaltsabteilung) die Dateien einsehen kann.

Ein paar Schwachpunkte dieses "Konzepts" sind mir bewusst, z.B. dass ich ABE aus oben bereits genanntem Grund nicht aktivieren kann, aber dadurch evtl. anhand des Dateinamens von anderen Mitarbeiterinnen erahnt werden kann, was eine bestimmte Datei beinhaltet. Wenn Du oder jemand anderes eine bessere Idee ha(s)t, dann gerne her damit!
chriscar
chriscar 27.01.2025 um 09:03:18 Uhr
Goto Top
Zitat von @WoenK0:

Ich ging immer davon aus, das ich das mit dem Homeverzeichnis bewerkstellige

"Homeverzeichnisse" sind bei meiner Anforderung nicht das richtige.
gastric
gastric 27.01.2025 aktualisiert um 09:23:38 Uhr
Goto Top
Wenn Du oder jemand anderes eine bessere Idee ha(s)t, dann gerne her damit!
Simples PHP Formular mit Upload-Funktion, oder internes Ticketsystem nutzen wenn man schon eins hat.
Xaero1982
Xaero1982 27.01.2025 um 09:42:25 Uhr
Goto Top
Entweder das was gastric schreibt oder eben doch für jeden Benutzer einen Ordner. Die mit Vollzugriff können dann im Hauptordner in der Suche *.* eingeben und ihnen sollte alles aus den Ordnern angezeigt werden.

Oder aber jeden User dazu verpflichten in den Dateinamen seinen eigenen Namen oder sein Kürzel zu schreiben. Dann sollte es auch keine Doppelungen geben.

Dennoch halte ich das Datenschutzrechtlich für sehr sehr gewagt.