AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rechte eines Verzeichnis ermitteln

Ein Thema von TUX_der_Pinguin · begonnen am 15. Aug 2011 · letzter Beitrag vom 16. Aug 2011
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

Rechte eines Verzeichnis ermitteln

  Alt 15. Aug 2011, 15:06
Hi,

ich habe zu erst mit Hilfe von Luckies CheckFileAccess http://www.michael-puff.de/Programmi...leAccess.shtml

Und dann mit der JEDI variante probiert.
Delphi-Quellcode:
function CheckAccessToFile(
   DesiredAccess: DWORD; const FileName: WideString): Boolean;
var FileObject : TJwSecureFileObject;
begin
   FileObject := TJwSecureFileObject.Create(FileName);
   try
     result := FileObject.AccessCheck(DesiredAccess);
   finally
     FileObject.Free;
   end;
end;
Jedoch funktioniert beides nicht.

Auf einem Windows 2003 Server R2 befindet sich ein Verzeichnis auf einer Freigabe mit besonderen Rechten für einen Domänen-Benutzer.

Versuche ich jetzt auf einem Rechner (Windows 7 Ultimate oder WinXP SP3) im Netzwerk mit einem lokalen Benutzer
(Benutzername & Passwort ist gleich wie beim Domänen-Benutzer) die Rechte abzufragen bekomme ich
als Antwort das keine Rechte gesetzt sind. Merkwürdig wird es versuche ich die Abfrage auf einem anderen
Unterverzeichnis auf der Freigabe erhalte ich die Informationen über die Rechte.

Abfrage mit lokalem Benutzer
\\server\share\Test <- Keine Rechte
\\server\share\Docs <- Rechte sind gesetzt

Abfrage mit Domänen-Benutzer
\\server\share\Test <- Rechte sind gesetzt
\\server\share\Docs <- Rechte sind gesetzt

Melde ich mich mit dem Domänen-Benutzer an den Rechnern an dann klappt alles und ich erhalte als
Antwort das die Rechte gesetzt sind. Auch wenn mein Programm meldet das keine Rechte gesetzt sind
ins Verzeichnis rein gehen, Dateien erstellen oder löschen usw. ist alles dennoch möglich.

Hat irgendjemand eine Idee was das soll?
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Rechte eines Verzeichnis ermitteln

  Alt 15. Aug 2011, 16:17
Ich habe gerade noch mal mit den Rechten am Server rum gespielt, dabei bin ich auf etwas gestoßen.
Das Verzeichnis \\server\share\Test hat Rechte für 2 Benutzer (Administrator: Vollzugriff und XY: Spezielle Berechtigungen)

Jedoch wird der lokale Benutzer XY auf dem Client nicht als der Domänen-Benutzer XY identifiziert
sondern der Gruppe DOMÄNE\Benutzer zugeordnet, diese Gruppe hat jedoch keinen Zugriff auf das
Verzeichnis. D.h. füge ich den Berechtigungen die Gruppe "Benutzer" hinzu und vergebe die gleichen
rechte wie dem Domänen-Benutzer XY dann funktioniert die Rechte abfrage.

Jetzt stellt sich mir nur die Frage warum wird beim prüfen der Rechte der lokale Benutzer einmal
so identifiziert und wenn ich ganz normal mit dem Windows Explorer auf das Verzeichnis zugreife
dann muss der lokale Benutzer doch als Domänen-Benutzer identifiziert werden weil ich komme ja ins
Verzeichnis hinein und kann dort tun und lassen was ich will.

Ich frag mich nur ob es eine Möglichkeit gibt die Rechte so ab zu fragen als würde man mit dem Explorer
ins Verzeichnis gehen und dort Dateien erstellt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Rechte eines Verzeichnis ermitteln

  Alt 15. Aug 2011, 17:11
Eigentlich ist jeder Benutzer Mitglied in irgendeiner Domäne, und sei es Local oder wie auch immer sie heißt. Des weiteren kann jeder Benutzer gleichzeitig Mitglied in einer beliebigen Gruppe sein, und diese Mitgliedschaft ist nicht zwangsläufig "logisch".
Also Benutzer xyz kann Mitglied bei Dom1\Administrators und Mitglied bei Dom2\Users sein, muß dies aber nicht. und bitte nicht vergessen es handelt sich um domx\xyz. Da es unterschiedliche Schreibweisen für Benutzer und Gruppen gibt, ist das manchmal etwas verwirrend.

Hier findest Du etwas mehr dazu.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Rechte eines Verzeichnis ermitteln

  Alt 16. Aug 2011, 07:36
Das ist mir natürlich klar das ein Benutzer Mitglied in mehren Gruppen sein kann.

Was ich ja einfach nur nicht verstehe ist wieso es einen Unterschied gibt ob ich
die Rechte abfragen möchte oder mit dem Explorer auf das Verzeichnis zugreifen will.

Ich stelle mir das so vor das bei der Rechte abfrage der Client sich mit der eindeutigen UID des
lokalen Benutzers am Server meldet und sagt "gib mir mal die Rechte für UID 1". Da jedoch der
Domänen-Benutzer der genau gleich heißt mit gleichem Passwort jedoch in der Domäne die UID 2 hat.
Es zum Ergebnis kommt das für den Lokalen Benutzer keine Rechte gesetzt sind.

Geht man jedoch mit dem Explorer ins Verzeichnis bekommt der Server nur die Info "hey ich bins XY"
und der Sever sagt "alles klar ich kenne dich als Domäne\XY".

Logisch wäre doch es würde immer gleich gehandhabt so führt das doch nur zu Verwirrungen.

Bzw. gibt es eine Möglichkeit die Rechte so abzufragen wie es auch beim Zugriff des Explorers
geschehen würde?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Rechte eines Verzeichnis ermitteln

  Alt 16. Aug 2011, 09:30
Das ist ein Missversändnis. Hinter jeder Anmeldung steckt genau ein Benutzer (aID?) da ist vollkommen egal welchen Namen/Userid er verwendet. Sobald der Benutzer eingerichtet ist ist er eindeutig identifizierbar, und wenn Du (theoretisch) 10 mal den Benutzer1 einrichtest, so ist dochjeder eindeutig identifizierbar.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Rechte eines Verzeichnis ermitteln

  Alt 16. Aug 2011, 09:36
Das ist ein Missversändnis. Hinter jeder Anmeldung steckt genau ein Benutzer (aID?) da ist vollkommen egal welchen Namen/Userid er verwendet. Sobald der Benutzer eingerichtet ist ist er eindeutig identifizierbar, und wenn Du (theoretisch) 10 mal den Benutzer1 einrichtest, so ist dochjeder eindeutig identifizierbar.

Gruß
K-H
Ja aber genau das meinte ich doch, das der Benutzer "Lokaler-PC\XY" doch nicht 100% gleich zu setzten ist
mit dem Benutzer "Domäne\XY" weil ja die eindeutige Kennung unterschiedlich ist. Ich frage mich ja nur
seit Tagen und Stunden warum bei der Rechte abfrage der Unterschied wichtig ist. Aber wenn ich Dateien
erstellen oder löschen will das völlig egal ist.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Rechte eines Verzeichnis ermitteln

  Alt 16. Aug 2011, 09:40
Das ist ein Missversändnis. Hinter jeder Anmeldung steckt genau ein Benutzer (aID?) da ist vollkommen egal welchen Namen/Userid er verwendet.
Ich glaube, dass was TUX_der_Pinguin meint, ist, dass wenn man z.B. ohne AD arbeitet und auf PC A einen Benutzer A mit Passwort P hat und auch auf PC B auch einen Benutzer A anlegt mit Passwort P Windows trotz unterschiedlicher lokaler Domänen und unterschiedlicher IDs diese in Einklang bringt (Benutzername und Passwort sind gleich --> ist der selber Benutzer).
Kommt jetzt allerdings noch eine echte Domäne ins spiel, scheint es kompliziert zu werden. Gibt es Benutzer A sowohl Lokal als auch in der Domäne (mit dem selben Passwort) greifen die Algorithmen wohl nicht mehr.

So zumindest hab ich es so verstanden.

Gruß, Chris

EDIT:
Zitat:
Ich frage mich ja nur seit Tagen und Stunden warum bei der Rechte abfrage der Unterschied wichtig ist. Aber wenn ich Dateien erstellen oder löschen will das völlig egal ist.
Ich denke, dass hängt mir der Reihenfolge zusammen:
Ist der Angemeldet Benutzer ein Domänenbenutzer --> nein
Ist die Benutzer/Passwort-Kombination die selbe wie von einem Benutzer aus der Domäne --> ja --> Zugriffsrechte gleich setzten mit dem Domänenbenutzer

Sicher bin ich mir da aber nicht. Ich glaube aber das der von mir oben beschriebene Ansatz (ohne Domäne einen User über das Netzwerk erkennen) da mit rein spielt.
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules

Geändert von ChrisE (16. Aug 2011 um 09:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz