# Fileserver: Zugriff auf Dateien beschränken

## LL0rd

Hallo,

ich habe gerade folgendes Problem: Ich habe einen Fileserver in einem gemischten Netzwerk. Es sind Linux, Windows (Vista und XP) und Mac Clients vorhanden. Diese Clients sollen nun auf einen Fileserver zugreifen. 

Hier schonmal meine erste Frage: Über welches Protokoll sollte man den Zugriff anbieten? Windows kann ja kein NFS, bleibt da nur Samba übrig?

Und dann das zweite Problem: Jetzt soll der Fileserver Verzeichnisse enthalten, die nicht alle Mitarbeiter lesen dürfen, bzw. nicht einfach so. Ich will es man anhand eines Beispiels verdeutlichen. Ich habe nun z.B. /home/share/docs. Darunter habe ich z.B. die Ordner "Rechnungen", "Aufträge", "Mein Chef mit der Sekretärin nackt am Strand" und "Top Secret Files"

Alle Benutzer können einfach so auf alles zugreifen, bis auf die "Top Secret Files". Das ist soweit auch kein Problem. Doch nun sollen die Benutzer sich den Zugriff auf die "Top Secret Files" holen können. Unter Linux und MacOS ist das ganze eigentlich kein Problem. Da kann ich ein Script basteln, das die Freigabe unter einem anderen Benutzernamen remountet. Aber unter Windows habe ich keine Ahnung wie das gehen soll. Deshalb dachte ich, dass man sich den Zugriff über das Intranet freischalten können soll. Aber da weiß ich momentan auch nicht, wie man Samba neben den Benutzerrechten auch die Rechner Rechte vergeben soll. Denn das Recht das Verzeichnis zu lesen, soll nicht permanent sein. Was mir in dem Zusammenhang einfallen würde, wäre das ganze über ACL zu machen. 

Aber vielleicht habt ihr auch andere Ideen, was man da machen könnte.

----------

## anello

Windows kann NFS, du musst nur die richtigen Services installieren. Bei Vista sind die allerdings glaube erst ab ultimate inklusive als Features. Bin aber nicht sicher!

Ich glaube ich verstehe dein Problem nicht ganz. Du kannst über NFS oder Samba Gruppen und Benutzern Rechte zuordnen. Wie stellst du dir das vor mit dem  *Quote:*   

> Doch nun sollen die Benutzer sich den Zugriff auf die "Top Secret Files" holen können

  ???

Entweder sie dürfen es sehen oder eben nicht ...

Alles andere mit Script hinterlegen das dann die Benutzerrechte auf dem Server anpasst, aber trotzdem auf allen Clients von allen Benutzern ausführbar ist, ist ein rießen Sicherheitsproblem und einfach ein schlechter Hack. 

Sag deinem Chef: Klare definierte Vorgaben, bitte!

----------

## LL0rd

Also ich kann die Vorgaben und die Gründe dazu eigentlich gut verstehen. Das ganze Szenario ist folgendes:

Alle Mitarbeiter können auf gemeinsame Dateien zugreifen. Jetzt will ich z.B. auf die letzte UST Erklärung und öffne diese mit Elter. Dort werde ich nach einem Passwort gefragt. Keiner kann also die Datei sehen, ohne das Passwort eingeben zu können. Jetzt hole ich eine Mitarbeiterin her, die das Passwort kennt, sie gibt das Passwort auf meinem Rechner ein und schon bin ich in der Datei drin. 

Ähnliches soll jetzt auch hier realisiert werden, jedoch mit etwas mehr Komfort. Benutzer aus bestimmten Benutzergruppen sollen auf alle Dateien zugreifen können und zwar sofort, ohne vorher ein Passwort eingegeben zu haben. Benutzern anderer - unberechtigter Benutzergruppen sollen sich aber den Zugang holen können, indem jemand aus der berechtigten Benutzergruppe seine Daten eingibt. 

Oder mal ein Beispiel aus der realen Welt:

Peter will in den Serverraum rein. Sein Schlüssel gewährt ihm aber kein Zugang dazu. Ich schließe ihm den Raum auf und lasse ihn rein.

----------

## anello

Das Problem ist klar, die Umsetzung in der Software aber nicht.

Ich stelle es mir schwierig vor das ganze über Datei-/Filesystemberechtigungen abzubilden, da diese nunmal an Gruppen und Benutzer gebunden sind und nicht an bestimmte Passwörter oder ähnliches.

Ich bin mir jetzt nicht der Guru in Samba oder NFS, aber ich tendiere stark dazu, dass dies so nicht abbildbar ist.

Wenn es nur um den Download der Datei geht, dann kannst du dies sicherlich über einen Apache mit htaccess abbilden, aber da bleibt das Problem des Dateiupdates bei Änderungen.

Ansonsten fällt mir nur noch eine Editorwebapplikation ein. Diese könnte gewissen Dateien z.B. in einem bestimmten Unterordner über ein Passwort schützen, müssten dann aber über den Server bearbeitet werden. Somit hoher programmieraufwand.

----------

## Haldir

Hmm eine Idee ist:

Du fügst die Leute die dürfen dynamisch der Gruppe TopSecretUser hinzu, die r/w rechte auf dein TopSecret dir hast. Das geht ohne Probleme.

Das ausführen ist komplizierter, z.b. nen CGI Script was dqas macht oder so.

----------

## furanku

Ich kann mir für diese "Bedarfsfreigaben" keine einfache Lösung vorstellen, die nicht irgendwelche Sicherheitslücken aufreißt (z.B. unbeabsichtiger Zugriff auf andere, nicht freigegeben Dateien) oder sie ist eben so kompliziert, daß sie wieder unpraktikabel ist (z.B. Verschlüsseln der Dateien mit jeweils unterschiedlichen Passworten, oder pro File unzählige Gruppenzugehähigkeizen). Möglicherweise könntest Du mit ACLs soetwas realisieren. Aber ACLs selber sind schon wieder relativ aufwendig und ob das Betriebssystemübergreifend wirklich funktioniert ... und selbst dann ist ein Fehler der autorisierten Nutzer bei den Freigaben so wahrscheinlich, daß ich das einfach für unpraktikabel halte.

Auch ist mir der Sicherheitsgedanke dahinter nicht so klar: Wenn Du einem nicht autorisierten Nutzer eine Datei auf Anfrage gibst, ist der Schutz der Datei hinterher ohnehin fragwürdig. Dann hat er sie eben und kann damit machen was er will. Du weißt nicht ob er z.B. nicht eine lokale Kopie zurückbehält oder diese gar in einem öffentlich lesbaren Verzeichnis ablegt.

Tut mir leid, aber ich glaube es ist das beste wenn Du die Berechtigungen auf ein etablierteres Rechtesystem projizierst, wo statisch geregelt ist wer was darf und was nicht, und wem Du vertraust und wem nicht. "Zeitweise" Fileberechtigungen haben einfach prinzipiell Probleme, wer will kopiert sich dann eben einfach die sicherheitsrelevanten Daten, und umgeht euer Autorisationsprinzip eben so.

----------

