Thema: Delphi Mailslots ?

Einzelnen Beitrag anzeigen

Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#12
  Alt 9. Mai 2003, 13:59
Jedes Kernel-Objekt besitzt einen Security-Descriptor der die Zugriffsrechte für das Objekt bestimmt. Dieser Security-Descriptor besitzt unter anderem 2 ACLs (ACL = Access Control List). Und zwar die DACL (Discretionary ACL) und die SACL (System ACL). Die SACL brauchst du in diesem Fall überhaupt nicht, denn die Zugriffsrechte für Benutzer, Gruppen, Computer werden alle in der DACL festgelegt. Ein Dienst lauft in der System-LogonSession und besitzt das SeTCBPrivilege (TCB = Trusted Computer Base) und hat somit die höchsten Rechte. Der Dienst sollte also ohne Probleme den MailSlot des Progs öffnen können. Ein Problem ist es nur umgekehrt, da das Prog kein Recht hat auf den Mailslot des Services zuzugreifen. Um das zu erreichen muss ein neuer Eintrag im DACL des Service-Mailslot vorgenommen werden. In dem Code von Sakura wird einfach ein leerer DACL erzeugt, dh es sind keine expliziten Zugriffsrechte angegeben und daher kann jeder Benutzer/Gruppe/Computer ohne Einschränkungen auf den Mailslot zugreifen. Eine andre Möglichkeit wäre einen neuen ACE (Access Control Entry) zu der DACL hinzuzufügen, der nur den expliziten Zugriff für den einen Benutzer zulässt mit dessen Prog zu kommunizieren musst.
Manuel Pöter
  Mit Zitat antworten Zitat