AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wer hat welche Berechtigungen in einem Verzeichnis
Thema durchsuchen
Ansicht
Themen-Optionen

Wer hat welche Berechtigungen in einem Verzeichnis

Ein Thema von Luckie · begonnen am 28. Feb 2004 · letzter Beitrag vom 8. Nov 2005
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 28. Feb 2004, 06:40
Ich wollte ermitteln welcher Benutzer Schreib- und Leserechte in einem angegebenen Verzeichnis auf NT ff. Systemen hat. Sprich, ich gebe ein Verzeichnis an und bekomme zurück, wer lesend und wer schreibend darauf zugreifen kann.

Ich habe hier schon nach Hier im Forum suchenACL gesucht, nur weiß ichnicht so recht, ob da was passendes bei ist, weil ich auch noch gra nicht weiß, wie ich das anpacken soll. Brauche ich da SID's, XYZID's oder was auch immer und wie würde das Vorgehen aussehen.

Edit1: Im SwissDelphiCenter habe ich auchn ichts brauchbares gefunden.
Edit2: Ziel ist es ein Programm zu schreiben, um sein System auf Lücken zu untersuchen, was die Vergabe von Rechten angeht. Eventuell das ganze auch andersrum, dass man der Benutzer angibt und eine Liste bekommt3 aufwelche Verzeichnisse er wie zugreifen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 28. Feb 2004, 06:59
Hai Luckie,

ich bin mir nicht ganz sicher ob Dir das hilft, aber suche mal im PSDK nach FSCTL_SECURITY_ID_CHECK. Eventuell hilft dir das weiter.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 28. Feb 2004, 07:19
Nein, es muss irgendwas mit GetSecurityInfo sein. damit bekomme ich wohl eien DACL für das Objekt (Datei). Nur wie geht es dann weiter? Besser ist für mich wohl noch GetFileSecurity, da es mir ja nur um Dateien geht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 28. Feb 2004, 15:24
Auf SysInternals habe ich genau das Programm gefunden, was das macht, was ich will, sogar mit Source. Nur leider steige ich bei dem C/C++ Gewusel einfach nicht durch. ich weiß noch nicht mal wo was anfängt bzw. in welcher Reihenfolge ich mir welche Infos holen muss um an die Berechtigungen dranzukommen.

Ich hänge es mal an.
Angehängte Dateien
Dateityp: zip accessenumsrc.zip (77,3 KB, 27x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 28. Feb 2004, 22:31
So, in einem WinAPI Forum wurde mir jetzt etwas weitergeholfen: http://www.c-plusplus.de/forum/viewt...=469825#469825

Ich versuche das gerade in Code umzusetzten:
Delphi-Quellcode:
uses
  AclAPI;


procedure TForm1.Button1Click(Sender: TObject);
var
  psd: PSECURITY_DESCRIPTOR;
  dwLen: DWORD;
  psdc: SECURITY_DESCRIPTOR_CONTROL;
  dwDummy: DWORD;
  DaclPresent, DaclDefaulted: LongBool;
  dacl: PACL;
  aclinfo: PAclInformation;
begin
  dwLen := 0;
  psd := nil;
  GetFileSecurity('c:\boot.ini', DACL_SECURITY_INFORMATION, psd, 0, dwLen);
  psd := AllocMem(dwLen);
  try
    if GetFileSecurity('c:\boot.ini', DACL_SECURITY_INFORMATION, psd, dwLen,
      dwLen) then
    begin
      GetMem(dacl, sizeof(PACL));
      try
        if GetSecurityDescriptorDacl(psd, DaclPresent, @dacl, DaclDefaulted) then
        begin
          if GetAclInformation(PAdacl, ) then
          begin
          end;
        end;
      finally
        Freemem(dacl, sizeof(PACL));
      end;
    end;
  finally
    FreeMem(psd, dwLen);
  end;
end;
Aber es will nicht so recht. PAclInformation kennt er nicht und hier:
if GetAclInformation(dacl, ) then sagt er mir jetzt schon:
Zitat:
[Fehler] Unit1.pas(54): Inkompatible Typen: '_ACL' und 'PACL'
Ich bräuchte da mal eure Hilfe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#6

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 1. Mär 2004, 22:38
Zitat von Luckie:
PAclInformation kennt er nicht
Versuche es mit den Win32API-Paket von Marcel van Brakel (http://www.delphi-jedi.org/APILIBRARY / http://members.chello.nl/m.vanbrakel2/).
Zitat von Luckie:
Zitat:
[Fehler] Unit1.pas(54): Inkompatible Typen: '_ACL' und 'PACL'
Die mir bekannten AclAPI/AccCtrl.pas von Borland sind - meiner bescheidenen Meinung nach - unvollständig bis unbrauchbar (je nach Delphi-Version).
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 30. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#7

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 4. Mär 2004, 15:05
ist der Datentyp PACL ein Pointer auf ein Record?
Zwar ne dumme Frage, ist mir aber auch schon des öfteren passiert
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 4. Mär 2004, 15:17
Hier fängt es im MSDN an http://msdn.microsoft.com/library/de...lesecurity.asp und der Link aus dem c++-Forum beschreibt, wie man wohl vorgehen müsste.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 4. Mär 2004, 15:46
Hi Luckie,
den ersten Parameter bei GetAclInformation musst du glaub ich so schreiben:
GetAclInformation(dacl^,) Dann müsste die Fehlermeldung eigentlich weg sein weiß es aber nicht genau.

Tschüß Markus
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 30. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#10

Re: Wer hat welche Berechtigungen in einem Verzeichnis

  Alt 4. Mär 2004, 15:49
Genau das meinte ich ja mit dem "Pointer auf einen Record"...
und aus der MSDN seite wurd ich (leider) net schlauer
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 02:53 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