Hi,
ich bin immer noch bei meinen Freigaben und versuche gerade einen hinzuzufügen. Mit Hilfe von
NetShareAdd stellt das theoretisch auch kein Problem da. Nur verlangt die Datenstruktur einen Security-Descriptor vom Typ
_SECURITY_DESCRIPTOR.
Sollte eigentlich dank
MSDN auch kein Problem darstellen, doch leider ist nirgendwo erklärt, wie ich die Struktur zu verwenden habe.
Ich weiß zwar, dass sie wie folgt aufgebaut ist, doch nicht, was in die einzelnen Werte rein soll. Zwar könnte ich das erraten, aber das halte ich für keine sinnvolle Methode.
Delphi-Quellcode:
_SECURITY_DESCRIPTOR = record
Revision: Byte;
Sbz1: Byte;
Control: SECURITY_DESCRIPTOR_CONTROL;
Owner: PSID;
Group: PSID;
Sacl: PACL;
Dacl: PACL;
end;
Im
MSDN steht lediglich:
ms-help://MS.PSDK.1033/security/security/security_descriptor.htm schreibt:
The SECURITY_DESCRIPTOR structure contains the security information associated with an object. Applications use this structure to set and
query an object's security status.
Because the internal format of a security descriptor can vary, applications are not to modify the SECURITY_DESCRIPTOR structure directly. For creating and manipulating a security descriptor, use the functions listed in the See Also section.
Code:
typedef struct SECURITY_DESCRIPTOR {
...
} SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR;
Remarks
A security descriptor includes information that specifies the following components of an object's security:
- An owner (SID)
- A primary group (SID)
- A discretionary ACL
- A system ACL
- Qualifiers for the preceding items
Several functions that use the SECURITY_DESCRIPTOR structure require that this structure be on a valid pointer boundary in memory. These boundaries vary depending on the type of processor used. Memory allocation functions, such as malloc and LocalAlloc, return properly aligned pointers.
Wirklich helfen tut mir das zumindest nicht.
Und die Funktionen, die dort noch aufgelistet werden, sind mir auch relativ undurchsichtig.
Chris