Laden...

Einer Anwendung Rechte (auf ein Verzeichnis) geben, die der Anwender selbst nicht hat

Erstellt von oehrle vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.233 Views
O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 12 Jahren
Einer Anwendung Rechte (auf ein Verzeichnis) geben, die der Anwender selbst nicht hat

Hallo, ich habe iene Frage an euch. Ich erstelle gerade eine Anwendung, die diverse Programmdateien verwaltet. Diese Dateien werden auf unserem Server je nach Datei in spezielle Ordnerstrukturen abgelegt. Bisher haben diese Verwaltung immer Personen mit Lese- und Schreibrechten ausgeführt.
Jetzt kommt der Haken. Nun sollen alle User, auch solche die keine Schreib- und Leseberechtigung haben diese Datenfiles dort archivieren können. Das Archivieren funktioniert automatisch, man brauch nur einen Button zu klicken, alles andere läuft selbständig.
Wie könnte ich das machen? Diese User ohne Berechtigung sollen nicht in den Genuss kommen diese Dateien zu sichten oder zu ändern. Deswegen keine Schreib-/Leserechte.

Kann man die Rechte per Code kurzzeitig ändern? macht das Sinn oder ist das eine simmvolle Möglichkeit (Userrechte vergeben aus einem anderen Rechner) ??

Oder wie macht man das am saubersten?

16.842 Beiträge seit 2008
vor 12 Jahren

Entweder Du hinterlegst der Anwendung einen Account, der für solche Situationen genutzt wird und die entsprechenden Rechte hat - oder Du musst das über eine "Vermittlungsstelle" lösen, zB ein entsprechender Dienst o.ä.

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo oehrle,

am einfachsten wäre es wohl, den neuen Usern Schreibrechte zu geben. Ohne Leserechte wäre es ja ein Stochern im Dunkeln, um was kaputt zu machen.

Am flexibelsten und sichersten sollte das über einen Dienst gehen, der unter einem Konto läuft, das die Rechte hat. Die Anwendung greift dann nicht selber auf die Verzeichnisse zu, sondern sendet einen entsprechenden Request an den Dienst. Der Dienst kann man beliebig programmieren, z.B. so, dass er nur das Schreiben neuer Dateien zulässt, aber nicht das überschreiben bestehender. Dann kann selbst jemand, der die Schnittstelle des Dienstes aus einem eigenen (Hacker-)Programm anspricht, nichts kaputt machen.

herbivore

O
oehrle Themenstarter:in
461 Beiträge seit 2009
vor 12 Jahren
Diensterstellung

Hallo herbivore, also denkst ich könnte die User die Dateien in einem gesonderten Ordner wo sie SChreibrechte haben ablegen lasssen. Dann geift ein Dienst (evtl. mit FileWatcher) die Dateien ab, untersucht diese und schiebt diese ins korrekte Verzeichnis?? Das könnte ich machen.

Wenn man es aber einfacher haben möchte, wäre es auch möglich die Berechtigung wöhrend dem Speichervorgang zu verbiegen und nachher wieder zurücksetzen oder über einen anderen Account?

Das mit dem zusätzliche Account würde ich befürworten, wenn

  • ich das alles aus dem Programmcode managen kann
  • der Aufwand nicht zu riesig ist

Hat da jemand einen passenden Link für das Account-Gedöns?

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo oehrle,

Dann geift ein Dienst (evtl. mit FileWatcher) die Dateien ab, untersucht diese und schiebt diese ins korrekte Verzeichnis??

das könnte man zwar machen, aber ich dachte eher dran, dass man dem Dienst die Requests (inkl. der zu schreibenden Daten) direkt sendet, z.B. über Named Pipes.

Wenn man es aber einfacher haben möchte, wäre es auch möglich die Berechtigung wöhrend dem Speichervorgang zu verbiegen und nachher wieder zurücksetzen?

Rechte sind bei Windows immer benutzerbezogen. Ich wüsste erstmal keinen Weg, wie man einer Anwendung erlauben kann, ein bestimmtes Benutzerkonto zu benutzen, wenn der Anwender selbst das Benutzerkonto nicht benutzen darf (abgesehen von Diensten natürlich, deshalb ja auch der Vorschlag).

herbivore

1.552 Beiträge seit 2010
vor 12 Jahren

wäre es auch möglich die Berechtigung wöhrend dem Speichervorgang zu verbiegen und nachher wieder zurücksetzen

Wäre möglich abber sinnlos, denn dazu benötigst du die notwendigen Rechte. Zusätzlich benötigt die Rechteänderung auf dem Ordner je nach Inhalt mehr oder minder lange.

Du könntest auch eine Gruppe erstellen und dort dieser Gruppe dem besagten Ordner nur "Ordner erstellen" und "Dateien erstellen" Rechte geben.

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

16.842 Beiträge seit 2008
vor 12 Jahren

Rechte sind bei Windows immer benutzerbezogen. Ich wüsste erstmal keinen Weg, wie man einer Anwendung erlauben kann, ein bestimmtes Benutzerkonto zu benutzen, wenn der Anwender selbst das Benutzerkonto nicht benutzen darf

Mit Impersonation, wenn man das Passwort mit Hilfe eine entsprechenden Verschlüsselung im Config-File ablegt. Restrisiko fürs Dekompilieren gibts immer.

A
764 Beiträge seit 2007
vor 12 Jahren

Wenn man es aber einfacher haben möchte, wäre es auch möglich die Berechtigung wöhrend dem Speichervorgang zu verbiegen und nachher wieder zurücksetzen oder über einen anderen Account?

Tatsächlich ist die Dienst-Lösung imho der einfachere Weg.