Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Rechte wieder freigeben! (https://www.delphipraxis.net/95422-rechte-wieder-freigeben.html)

WS1976 6. Jul 2007 07:54


Rechte wieder freigeben!
 
Hallo liebe DP'ler,

folgendes Problem (der Code ist aus der DP):
Delphi-Quellcode:
function Verbinden(Laufwerk: string; Pfad: string; Username: string; Password: string; RestoreAtLogon: Boolean): DWORD;
var
  NetResource: TNetResource;
  dwFlags: DWORD;
begin
  if Laufwerk[length(Laufwerk)] = '\' then
    Laufwerk:=copy(Laufwerk,0,length(Laufwerk) - 1);
   
  if pos(':',Laufwerk) = 0 then
    Laufwerk:= Laufwerk + ':';

  if Pfad[length(Pfad)] = '\' then
    Pfad:=copy(Pfad,0,length(Pfad) - 1);

  with NetResource do
  begin
    dwType := RESOURCETYPE_DISK;
    lpLocalName := PChar(Laufwerk);
    lpRemoteName := PChar(Pfad);
    lpProvider := nil;
  end;

  if (RestoreAtLogon) then
    dwFlags := CONNECT_UPDATE_PROFILE
  else
    dwFlags := 0;

  Result := WNetAddConnection2(NetResource, PChar(Password),
    PChar(Username), dwFlags);
end;

function Trennen(Laufwerk: string): DWORD;
begin
  if Laufwerk[length(Laufwerk)] = '\' then
    Laufwerk:=copy(Laufwerk,0,length(Laufwerk) - 1);
   
  Result := WNetCancelConnection2(PChar(Laufwerk),0,false);
end;
Wir verbinden und trennen damit Netzwerklaufwerke auf Clients mit eingeschränkten Rechten,
sodass für diese Verbindung Domadminrechte gelten.
Domäne Win2003, Clients WXP und Win2K
Nach dem Trennen ist aber der Client hochgestuft auf Domadminrechte (was die Netzwerkverbindungen betrifft).
Wie kann ich das verhindern.
Das ist übrigens auch so, wenn ich über den Explorer verbinde.

Grüsse
Rainer

Christian Seehase 6. Jul 2007 13:14

Re: Rechte wieder freigeben!
 
Moin Rainer,

Zitat:

Zitat von WS1976
Nach dem Trennen ist aber der Client hochgestuft auf Domadminrechte (was die Netzwerkverbindungen betrifft).

was sich aber nicht auf alle Verbindungen bezieht, sondern nur auf die zu dem einen Rechner, zu dem die Verbindung aufgebaut wurde.

Du könntest aber mal versuchen, die Verbindung zu IPC$ auf dem gleichen Wege zu trennen, eventuell hilft das weiter.

WS1976 6. Jul 2007 16:46

Re: Rechte wieder freigeben!
 
Hallo Christian,

bezieht sich auf alle Fileserver die zur Domäne gehören (alles andere wurde nicht getestet).
Wir waren total perplex als wir das feststellten.

Gruss Rainer

Christian Seehase 7. Jul 2007 02:08

Re: Rechte wieder freigeben!
 
Moin Rainer,

ich habe das mal mit einem 2003er Server probiert:
Die Möglichkeit erneut eine Verbindung aufzubauen, ohne sich erneut zu authentifizieren, funktioniert nur sehr kurz nach der Trennung. Wenn man einen Moment wartet muss man sich erneut anmelden.

WS1976 7. Jul 2007 10:12

Re: Rechte wieder freigeben!
 
Hallo Christian,

das wär schon eine Lösung, von welchem Zeitraum redest du denn?
Was ist bei dir kurz? 1 Min 2 ....
Das ist zum Teil schon gruselig was Microsoft sich da leistet.
das ist auf jedenfall eine riessige Sicherheitslücke.

Gruss Rainer

Christian Seehase 7. Jul 2007 12:47

Re: Rechte wieder freigeben!
 
Moin Rainer,

ich habe das mal im Explorer gemacht.
Wenn ich sofort nach dem Trennen versucht habe die Verbindung wiederherzustellen, hat es geklappt, nach ein paar Sekunden Wartezeit, musste ich mich erneut anmelden.

Luckie 7. Jul 2007 13:26

Re: Rechte wieder freigeben!
 
Zitat:

Zitat von WS1976
das ist auf jedenfall eine riessige Sicherheitslücke.

Warum ist das eine Sicherheitslücke?

WS1976 7. Jul 2007 14:39

Re: Rechte wieder freigeben!
 
Hallo Luckie,

da fragst du? Wenn ich auf einem Client mit WinXP und normalen Userrechten eingeloggt bin und ich stelle (als Domadmin) eine zusätzliche Verbindung her, wenn danach alles offen ist, seis auch nur für 1 Minute, ist das ein Katastrophe.
Für den Client gibts keinerlei Schranken mehr. Er kann auf dem ganzen Server rumpfuschen
Wenn das keine Sicherheitslücke ist?
Du solltest vielleicht mal meinen Ursprungsbeitrag lesen!

Gruss Rainer

Luckie 7. Jul 2007 15:13

Re: Rechte wieder freigeben!
 
Wenn du den Rechner verlässt, ohne ihn zu sperren, dann bist du selber schuld. Oder verstehe ich jetzt die Situation nicht ganz?

Christian Seehase 7. Jul 2007 16:36

Re: Rechte wieder freigeben!
 
Moin Michael,

Beispiel:
Wenn Du mal auf dem Rechner eines Anwenders etwas reparieren willst, und dazu ein Tool von einem Server benötigst, verbindest Du Dir halt das Laufwerk mit Deinem Account, holst das Tool und trennst die Verbindung wieder.

Zugegeben, i.d.R. kann man das auch anders machen, aber so etwas kommt vor.
Normaler Weise wird der Rechner dann aber auch wieder durchgestartet, bzw. der User muss sich neu anmelden. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.
Seite 1 von 2  1 2      

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