home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2470 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  3.2 KB  |  99 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import os
  5. import win32security
  6. import win32file
  7. import win32api
  8. import ntsecuritycon
  9. import win32con
  10. from security_enums import TRUSTEE_TYPE, TRUSTEE_FORM, ACE_FLAGS, ACCESS_MODE
  11. fname = os.path.join(win32api.GetTempPath(), 'win32security_test.txt')
  12. f = open(fname, 'w')
  13. f.write('Hello from Python\n')
  14. f.close()
  15. print 'Testing on file', fname
  16. new_privs = ((win32security.LookupPrivilegeValue('', ntsecuritycon.SE_SECURITY_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', ntsecuritycon.SE_SHUTDOWN_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', ntsecuritycon.SE_RESTORE_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', ntsecuritycon.SE_TAKE_OWNERSHIP_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', ntsecuritycon.SE_CREATE_PERMANENT_NAME), win32con.SE_PRIVILEGE_ENABLED), (win32security.LookupPrivilegeValue('', 'SeEnableDelegationPrivilege'), win32con.SE_PRIVILEGE_ENABLED))
  17. ph = win32api.GetCurrentProcess()
  18. th = win32security.OpenProcessToken(ph, win32security.TOKEN_ALL_ACCESS)
  19. win32security.AdjustTokenPrivileges(th, 0, new_privs)
  20. all_security_info = win32security.OWNER_SECURITY_INFORMATION | win32security.GROUP_SECURITY_INFORMATION | win32security.DACL_SECURITY_INFORMATION | win32security.SACL_SECURITY_INFORMATION
  21. sd = win32security.GetFileSecurity(fname, all_security_info)
  22. old_sacl = sd.GetSecurityDescriptorSacl()
  23. if old_sacl == None:
  24.     old_sacl = win32security.ACL()
  25.  
  26. old_dacl = sd.GetSecurityDescriptorDacl()
  27. if old_dacl == None:
  28.     old_dacl = win32security.ACL()
  29.  
  30. my_sid = win32security.GetTokenInformation(th, ntsecuritycon.TokenUser)[0]
  31. tmp_sid = win32security.LookupAccountName('', 'tmp')[0]
  32. pwr_sid = win32security.LookupAccountName('', 'Power Users')[0]
  33. my_trustee = { }
  34. my_trustee['MultipleTrustee'] = None
  35. my_trustee['MultipleTrusteeOperation'] = 0
  36. my_trustee['TrusteeForm'] = TRUSTEE_FORM.TRUSTEE_IS_SID
  37. my_trustee['TrusteeType'] = TRUSTEE_TYPE.TRUSTEE_IS_USER
  38. my_trustee['Identifier'] = my_sid
  39. tmp_trustee = { }
  40. tmp_trustee['MultipleTrustee'] = None
  41. tmp_trustee['MultipleTrusteeOperation'] = 0
  42. tmp_trustee['TrusteeForm'] = TRUSTEE_FORM.TRUSTEE_IS_NAME
  43. tmp_trustee['TrusteeType'] = TRUSTEE_TYPE.TRUSTEE_IS_USER
  44. tmp_trustee['Identifier'] = 'rupole\\tmp'
  45. pwr_trustee = { }
  46. pwr_trustee['MultipleTrustee'] = None
  47. pwr_trustee['MultipleTrusteeOperation'] = 0
  48. pwr_trustee['TrusteeForm'] = TRUSTEE_FORM.TRUSTEE_IS_SID
  49. pwr_trustee['TrusteeType'] = TRUSTEE_TYPE.TRUSTEE_IS_USER
  50. pwr_trustee['Identifier'] = pwr_sid
  51. expl_list = []
  52. expl_list.append({
  53.     'Trustee': my_trustee,
  54.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  55.     'AccessMode': ACCESS_MODE.SET_AUDIT_SUCCESS,
  56.     'AccessPermissions': win32con.GENERIC_ALL })
  57. expl_list.append({
  58.     'Trustee': my_trustee,
  59.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  60.     'AccessMode': ACCESS_MODE.SET_AUDIT_FAILURE,
  61.     'AccessPermissions': win32con.GENERIC_ALL })
  62. expl_list.append({
  63.     'Trustee': tmp_trustee,
  64.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  65.     'AccessMode': ACCESS_MODE.SET_AUDIT_SUCCESS,
  66.     'AccessPermissions': win32con.GENERIC_ALL })
  67. expl_list.append({
  68.     'Trustee': tmp_trustee,
  69.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  70.     'AccessMode': ACCESS_MODE.SET_AUDIT_FAILURE,
  71.     'AccessPermissions': win32con.GENERIC_ALL })
  72. old_sacl.SetEntriesInAcl(expl_list)
  73. expl_list = []
  74. expl_list.append({
  75.     'Trustee': tmp_trustee,
  76.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  77.     'AccessMode': ACCESS_MODE.DENY_ACCESS,
  78.     'AccessPermissions': win32con.DELETE })
  79. expl_list.append({
  80.     'Trustee': tmp_trustee,
  81.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  82.     'AccessMode': ACCESS_MODE.GRANT_ACCESS,
  83.     'AccessPermissions': win32con.WRITE_OWNER })
  84. expl_list.append({
  85.     'Trustee': pwr_trustee,
  86.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  87.     'AccessMode': ACCESS_MODE.GRANT_ACCESS,
  88.     'AccessPermissions': win32con.GENERIC_READ })
  89. expl_list.append({
  90.     'Trustee': my_trustee,
  91.     'Inheritance': ACE_FLAGS.NO_INHERITANCE,
  92.     'AccessMode': ACCESS_MODE.GRANT_ACCESS,
  93.     'AccessPermissions': win32con.GENERIC_ALL })
  94. old_dacl.SetEntriesInAcl(expl_list)
  95. sd.SetSecurityDescriptorSacl(1, old_sacl, 1)
  96. sd.SetSecurityDescriptorDacl(1, old_dacl, 1)
  97. sd.SetSecurityDescriptorOwner(pwr_sid, 1)
  98. win32security.SetFileSecurity(fname, all_security_info, sd)
  99.