AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi direktes kopieren auf Netzlwaufwerk verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

direktes kopieren auf Netzlwaufwerk verhindern

Ein Thema von zeras · begonnen am 17. Aug 2014 · letzter Beitrag vom 8. Sep 2019
Antwort Antwort
Seite 1 von 2  1 2      
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#1

direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 14:23
Ich habe ein Programm für unsere Firma geschrieben, womit man Daten automatisch auf ein Netzwerklaufwerk archivieren kann. Die Dateien werden dann gleich noch mit gezipt und dort gespeichert. Im Programm sind Algorythmen drin, die das Archivieren erst erlauben, wenn bestimmte Regeln eingehalten werden.
Nun gibt es aber auch "Spezialisten", die die Daten direkt auf das Netzlaufwerk legen unter Umgehung meines Programms.
Wie kann ich das verhindern? Schreibrechte brauchen ja die Kollegen, um die Daten auf das Laufwerk zu bringen. Aber das wird auch manchmal ausgenutzt und direkt kopiert.
Unsere IT sagte mir, dass man vielleicht einen Prozeß schreiben sollte, der mit mehr Rechten ausgestattet ist und der normale User diese Rechte nicht mehr hat.
Kann ich solch einen Prozeß mit ins Programm einbauen?
Gibt es dazu Lösungsansätze? Oder wie kann ich da vorgehen?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 15:09
Am Ziel einen eigenen Prozess laufen lassen, der die Datei ablegt. Zum Beispiel wäre es möglich, über Samba (Windows-Freigabe) nur Lesezugriff zu gestatten, und den Schreibzugriff über SFTP abzuwickeln. Oder auch ein komplett eigener Server (ist aber vielleicht etwas mehr Aufwand)
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#3

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 15:50
Oder das Netzlaufwerk für den normalen User sperren / nur lese-recht, und das Programm unter einem anderen Usercontext laufen lassen, mit dem es dann auch schreibrechte hat.
Oder zur Laufzeit ein Netzlaufwerk mit anderer Useranmeldung verbinden, Daten schreiben und dann wieder trennen.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#4

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 16:15
...
und das Programm unter einem anderen Usercontext laufen lassen, mit dem es dann auch schreibrechte hat.
Oder zur Laufzeit ein Netzlaufwerk mit anderer Useranmeldung verbinden, Daten schreiben und dann wieder trennen.
Das ist offensichtlich das, was mir unsere IT versuchte, klarzumachen. Nur weiß ich nicht, wie ich das anstellen kann.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#5

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 16:24
Du könntest dir von der IT einen User mit schreibrechten einrichten lassen.

Dann teilst du dein Programm in 2 Teile. Teil 1 übernimmt das sammeln und Zippen der Daten z.b. im Temp-Verzeichnis.
Dann rufst das 2. Prog auf, und übergibst als Parameter die gezippte Datei incl. Pfad. Du startest dieses 2. Prog aber unter einem anderen Benutzer. Wie das geht: z.B. hierhttp://www.delphipraxis.net/176005-a...r-starten.html

Ab Vista kannst du ggf. auch dein Programm über die Verknüpfung gleich als anderer Benutzer starten lassen, aber ich weiß nicht, ob dann nicht immer das Kennwort abgefragt wird (ich glaube aber schon).
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#6

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 16:50
Du könntest dir von der IT einen User mit schreibrechten einrichten lassen.

Dann teilst du dein Programm in 2 Teile. Teil 1 übernimmt das sammeln und Zippen der Daten z.b. im Temp-Verzeichnis.
Dann rufst das 2. Prog auf, und übergibst als Parameter die gezippte Datei incl. Pfad. Du startest dieses 2. Prog aber unter einem anderen Benutzer. Wie das geht: z.B. hierhttp://www.delphipraxis.net/176005-a...r-starten.html

Ab Vista kannst du ggf. auch dein Programm über die Verknüpfung gleich als anderer Benutzer starten lassen, aber ich weiß nicht, ob dann nicht immer das Kennwort abgefragt wird (ich glaube aber schon).
Damit sollte ich erst mal klarkommen. Vielen Dank.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 17:25
Ich würde das ganze mit dem Starten als anderer Benutzer sein lassen. Es genügt, wenn du einen Dienst schreibst, der das übernimmt und den so konfigurierst, dass er als anderer Benutzer läuft (der, der die Rechte hat). Das sollte über die Softwareverteilung klappen, sofern es eine gibt, oder ansonsten mit einem Aufruf der sc.exe mit Adminrechten erledigt sein. Du brauchst dann nur den Dienst per IPC steuern.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#8

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 17:42
Der übliche Weg, eine Verbindung zu einem Netztwerkpfad unter einem anderen Benutzer zu erstellen ist eigentlich WNetAddConnection2. Eine Lösung könnte in etwa so aussehen:

Delphi-Quellcode:
const
  cLocalName = 'N:'; // oder ein anderer verfügbarer Buchstabe
var
  data: TNetResource;
  res: Cardinal;
begin
  data.dwType := RESOURCETYPE_DISK;
  data.lpLocalName := cLocalName ;
  data.lpRemoteName := <Der Netzwerkpfad>;
  data.lpProvider := '';
  res := WNetAddConnection2(data, <Das Passwort>, <Der Username>, CONNECT_TEMPORARY);

  if res = NOERROR then begin
    try
      <Mach was immer nötig ist>
    finally
      res := WNetCancelConnection2(cLocalName , 0, false);
    end;
  end
  else begin
    <Fehlerbehandlung>
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 18:35
Leicht OT:
Auf der anderen Seite könntest du versuchen herauszufinden, warum einige Nutzer dein Programm umgehen.

Im Prinzip: Warum sollte man den "Spezialisten" ihren Workflow vorenthalten?
Du könntest ein Eingangsordner haben, dessen Inhalt dann von deinem Service validiert und auf das Netzlaufwerk geschrieben wird.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#10

AW: direktes kopieren auf Netzlwaufwerk verhindern

  Alt 17. Aug 2014, 18:40
Leicht OT:
Auf der anderen Seite könntest du versuchen herauszufinden, warum einige Nutzer dein Programm umgehen.

Im Prinzip: Warum sollte man den "Spezialisten" ihren Workflow vorenthalten?
Es werden mit dem Kopieren noch Versionen rausgezogen, die man dann nicht automatisiert hätte. Die Daten werden teilweise sehr lange nicht gebraucht, aber wenn man diese brauchen sollte, dann sollten diese korrekt abgelegt sein.
In Summe sollten ca. 8 Leute mit dem Programm arbeiten. Da wüsste ich nicht, wie man an die Info kommt, wer das direkt auf das Laufwerk kopiert hat.
Kann man denn an der Datei etwas sehen, wer das kopiert hat?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz