I'd like to call pythoncom.CoInitializeSecurity with a
PySecurityDescriptor object to set the process-wide security values.
But I'm not able to find a way to let the code go through.

I have read MSDN and searched web, I've not been able to find answer. I
cooked a security descriptor like this (assume aces is a tuple of tuple
(access, sid) :



    sd = win32security.SECURITY_DESCRIPTOR()
    sd.Initialize()
    sd.SetSecurityDescriptorOwner(sid_owner, False)
    sd.SetSecurityDescriptorGroup(sid_group, False)


    # create DACL
    dacl = win32security.ACL()
    dacl.Initialize()
    for (access, acc_sid) in aces:
        # Add ACE which is access and SID
        dacl.AddAccessAllowedAce(win32security.ACL_REVISION, access,
isinstance(acc_sid, (unicode, str)) and
win32security.ConvertStringSidToSid(acc_sid) or acc_sid)

    sd.SetDacl(True, dacl, False)           # SetSecurityDescriptorDacl
    print sd.IsSelfRelative()                    # result is 1

The sd is a self relative one.

>From MSDN, after calling InitializeSecurityDescriptor, the sd is
absolute sd, and CoInitializeSecurity needs absolute sd. Pythonwin has
not wrapped function like 'MakeAbsoluteSD'.

Has someone ever had same problem. Could you give a hint for solving
the problem. Thanks.

Regards

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to