Foro | | | | - Página 1 - |
| | ¡Hola Profaner...
Noch una vez qué para Testen bajo NT/2000/XP: KompilierenMarcaSeparaciónDEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @IsValidSid(1) !"ADVAPI32","IsValidSid"
Declare Fehler&
Proc GET_JEDER
Declare SYS$,SEC_ID#,CBNAME_SIZE#,CBNAME#,ReferencedDomainName#,RDN_SIZE#
Declare SID_NAME_USE#
DIM SEC_ID#,12
DIM CBNAME_SIZE#,4
DIM CBNAME#,256
DIM ReferencedDomainName#,256
DIM RDN_SIZE#,4
DIM SID_NAME_USE#,4
Clear SYS$,SID_NAME_USE#,CBNAME#,ReferencedDomainName#,SEC_ID#
LONG SEC_ID#,0=257
LONG SEC_ID#,4=16777216
LONG SEC_ID#,8=0
LONG CBNAME_SIZE#,0=255
LONG RDN_SIZE#,0=255
LET Fehler&=@IsValidSid(SEC_ID#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
LET FEHLER&=@LookupAccountSid(@ADDR(SYS$),SEC_ID#,CBNAME#,CBNAME_SIZE#,ReferencedDomainName#,RDN_SIZE#,SID_NAME_USE#)
ADDSTRING "Fehlercode LookupAccountSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
ADDSTRING @STRING$(CBNAME#,0)
Dispose SID_NAME_USE#
Dispose RDN_SIZE#
Dispose ReferencedDomainName#
Dispose CBNAME#
DISPOSE SEC_ID#
DISPOSE CBNAME_SIZE#
endproc
GET_JEDER
@Editbox("RĂĽckgaben",>1)
Wird überall una String zurückgegeben? Como sieht lo con US-Systemen de? |
| | | | |
| | | | | - Página 1 - |
| Rolf Koch | Hi AH, [quote:cba7059298] Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewählte Datei=C:druck.txt Gruppenname/Username=Jeder Zu Addierende Rechte=F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1110000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=188 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=112 Anzahl freier Bytes en DACL=0 ACEs en DACL=4 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-32-544 1. ACE Bezogen en SID=Administratoren 1. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-5-18 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=36 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 3. ACEs=S-1-5-21-1708537768-1644491937-839522115-1003 3. ACE Bezogen en SID=Rolf 3. ACE Bezogen en Domainname=ROCKNROLF Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 4. ACEs=S-1-5-32-545 4. ACE Bezogen en SID=Benutzer 4. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 4. ACEs=$1200A9 Recht en el 4. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 4. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 4. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 4. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 4. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 4. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Rückgabe de LookupAccountName para Jeder=0 Letzter API-Fehler=122 Longitud des SIDs=12 Rückgabe de LookupAccountName para Jeder=1 Letzter API-Fehler=997 Longitud des SIDs=12 Bytes para ACL=28 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=112 Anzahl freier Bytes en DACL=0 ACEs en DACL=4 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Administratoren Accessrechte des 1. ACEs=$1F01FF Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM Accessrechte des 2. ACEs=$1F01FF Größe des 3.ACEs=36 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=0 Letzter API-Fehler=1332 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID= Accessrechte des 3. ACEs=$1F01FF Größe des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 4. ACE Bezogen en SID=Benutzer Accessrechte des 4. ACEs=$1200A9 En DENIED_ACE... ...a addierende Rechte=$10000 Rückgabe de AddAce=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewählte Datei=C:druck.txt Gruppenname/Username=Jeder Zu Addierende Rechte=SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1110000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=104 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=28 Anzahl freier Bytes en DACL=0 ACEs en DACL=1 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-1-0 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$10000 Recht en el 1. ACE=_DELETE (Expediente löschen) Rückgabe de LookupAccountName para Jeder=0 Letzter API-Fehler=122 Longitud des SIDs=12 Rückgabe de LookupAccountName para Jeder=1 Letzter API-Fehler=997 Longitud des SIDs=12 Bytes para ACL=48 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=28 Anzahl freier Bytes en DACL=0 ACEs en DACL=1 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder Accessrechte des 1. ACEs=$10000 En DENIED_ACE a addierende Rechte=$0 Rückgabe de AddAce=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$1101BF Rückgabe de AddAce=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Administratoren ****PROZEDUR comenzó**** Gewählte Datei=C:druck.txt Gruppenname/Username=Administratoren Zu Addierende Rechte=FILE_DELETE_CHILD READ_CONTROL ACCESS_SYSTEM_SECURITY WRITE_OWNER WRITE_DAC F_DELETE SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1110000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=124 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=48 Anzahl freier Bytes en DACL=0 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-1-0 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$0 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-1-0 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1101BF Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 2. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 2. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Recht en el 2. ACE=_DELETE (Expediente löschen) Rückgabe de LookupAccountName para Administratoren=0 Letzter API-Fehler=122 Longitud des SIDs=16 Rückgabe de LookupAccountName para Administratoren=1 Letzter API-Fehler=997 Longitud des SIDs=16 Bytes para ACL=72 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=48 Anzahl freier Bytes en DACL=0 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder Accessrechte des 1. ACEs=$0 Rückgabe de AddAce=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder Accessrechte des 2. ACEs=$1101BF Rückgabe de AddAce=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$11F01FF Rückgabe de AddAce=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 [/quote:cba7059298] Rolf |
| | | | |
| | | ¡Hola Rolf...
Sieht en el ersten Blick bastante bien de. Hauts hin oder gibts Problemas? Stimmt el con el Werten en el Explorer uberein? |
| | | | |
| | Rolf Koch | So Yo lo en el ersten Blick sehe, es alles OK. Werde aber determinado weitertesten. Gehe igual aber zuerst veces en una IN EXTREMO Konzert aquí en Koblenz *freu*
Rolf |
| | | | |
| | | Hab beim Spielen con el PROC todavía unos pocos Fehler entdeckt. KompilierenMarcaSeparaciónDEF @SetFileSecurity(3) !"ADVAPI32","SetFileSecurityA"
DEF @InitializeSecurityDescriptor(2) !"ADVAPI32","InitializeSecurityDescriptor"
DEF @SetSecurityDescriptorDacl(4) !"ADVAPI32","SetSecurityDescriptorDacl"
DEF @AddAce(5) !"ADVAPI32","AddAce"
DEF @LookupAccountName(7) !"advapi32","LookupAccountNameA"
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @SetLastError(1) !"KERNEL32","SetLastError"
DEF @LookupPrivilegeName(4)!"advapi32","LookupPrivilegeNameA" Ermittelt aus dem Luid eines Privilegs dessen Namen.
DEF @LookupPrivilegeValue(3) !"advapi32","LookupPrivilegeValueA" Ermittelt aus dem Namen eines Privilegs dessen Luid.
DEF @OpenProcessToken(3) !"advapi32","OpenProcessToken" Ă–ffnet Einstellprozess.
DEF @AdjustTokenPrivileges(6) !"advapi32","AdjustTokenPrivileges" Stellt Privilegien ein.
DEF @GetCurrentProcess(0) !"kernel32","GetCurrentProcess" Ermittel das Handle des aktiven Prozesses.
DEF @CloseHandle(1) !"kernel32","CloseHandle" SchlieĂźt ein Handle (Programm).
Def @GetVolumeInformation(8) !"KERNEL32","GetVolumeInformationA"
DEF @GetSecurityDescriptorOwner(3) !"ADVAPI32","GetSecurityDescriptorOwner"
DEF @GetSecurityDescriptorGroup(3) !"ADVAPI32","GetSecurityDescriptorGroup"
DEF @GetSecurityDescriptorDACL(4) !"ADVAPI32","GetSecurityDescriptorDacl"
DEF @GetSecurityDescriptorSACL(4) !"ADVAPI32","GetSecurityDescriptorSacl"
DEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
DEF @IsValidSecurityDescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
DEF @IsValidSid(1) !"ADVAPI32","IsValidSid"
DEF @IsValidAcl(1) !"ADVAPI32","IsValidAcl"
DEF @GetAclInformation(4) !"ADVAPI32","GetAclInformation"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
DEF @GetAce(3) !"ADVAPI32","GetAce"
DEF @ConvertSidToStringSid(2) !"ADVAPI32","ConvertSidToStringSidA"
DEF @LocalFree(1) !"KERNEL32","LocalFree"
DEF @InitializeAcl(3) !"ADVAPI32","InitializeAcl"
Declare Fehler&
Proc GET_Group_Name
Parameters Name$
Declare SYS$,SEC_ID#,CBNAME_SIZE#,CBNAME#,ReferencedDomainName#,RDN_SIZE#
Declare SID_NAME_USE#,CBNAME$
SID wird erstellt.
IF @UPPER$(Name$)="JEDER"
DIM SEC_ID#,12
ElseIF @UPPER$(Name$)="ADMINISTRATOREN"
DIM SEC_ID#,16
else
DIM SEC_ID#,12
@Messagebox("Falscher Parameter!","Fehler",16)
endif
DIM CBNAME_SIZE#,4
DIM CBNAME#,256
DIM ReferencedDomainName#,256
DIM RDN_SIZE#,4
DIM SID_NAME_USE#,4
Clear SYS$,SID_NAME_USE#,CBNAME#,ReferencedDomainName#,SEC_ID#
IF @UPPER$(Name$)="JEDER"
LONG SEC_ID#,0=257
LONG SEC_ID#,4=16777216
LONG SEC_ID#,8=0
elseIF @UPPER$(Name$)="ADMINISTRATOREN"
LONG SEC_ID#,0=513
LONG SEC_ID#,4=83886080
LONG SEC_ID#,8=32
LONG SEC_ID#,12=544
endif
LONG CBNAME_SIZE#,0=255
LONG RDN_SIZE#,0=255
LET Fehler&=@IsValidSid(SEC_ID#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
CASE FEHLER&=1 : LET FEHLER&=@LookupAccountSid(@ADDR(SYS$),SEC_ID#,CBNAME#,CBNAME_SIZE#,ReferencedDomainName#,RDN_SIZE#,SID_NAME_USE#)
ADDSTRING "Fehlercode LookupAccountSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
ADDSTRING @STRING$(CBNAME#,0)
LET CBNAME$=@STRING$(CBNAME#,0)
Dispose SID_NAME_USE#
Dispose RDN_SIZE#
Dispose ReferencedDomainName#
Dispose CBNAME#
DISPOSE SEC_ID#
DISPOSE CBNAME_SIZE#
Return CBNAME$
endproc
Proc Set_ACE_IN_DACL
Parameters FileName$,User$,Hinzu_entfernen$,FSFlags$
1.Parameter= Dateiname
2.Parameter= Username
3.Parameter= +;-;0 (+=Rechte entfernen, -=hinzufügen, 0=alles vorhandene löschen)
4.Parameter= Flags als String
Mögliche Flags
FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)
FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)
FILE_APPEND_DATA (Erlaubt Daten anzuhängen)
FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)
FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)
FILE_EXECUTE (Erlaubt eine Datei auszufĂĽhren)
FILE_READ_ATTRIBUTES (Lesen der Fileattribute)
FILE_WRITE_ATTRIBUTES (Ă„ndern der Fileattribute)
WRITE_DAC (Ändern der DACL Einträge)
READ_CONTROL (Lesen der DACL Einträge und Besitzer)
SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)
File_Delete_CHILD (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)
ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)
WRITE_OWNER (Eigentümer ändern)
F_DELETE (Datei löschen)
ADDSTRING "****PROZEDUR gestartet****"
IF @AND(Filename$<>"",@AND(USER$<>"",@OR(@INSTR("+",Hinzu_entfernen$)>0,@INSTR("-",Hinzu_entfernen$)>0)))
Declare NEW_ACL1#,SIDA#
Declare PSECURITY_DESCRIPTOR#,Needed#,Needed&
Declare Laufwerk$,Label#,LFLAGS#,DAT#
DEclare SID#,GFLAG#,System$,FSFlags&
DEclare ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare Test&,ANZAHL_BYTES&
Declare ACL_PRESENT#,P_ACL#,ACL_D#
Declare ACL_INFO#,Zähler&,ACE#,P_ACE#,ACE_SIZE&,STRSID#,P_STRSID#
Declare SID2#,IO%,SecFlag&,ACCESS_MASK&
Declare Vorhanden&,Needed#,SecFlag&,NEEDED&
Declare PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#
DEclare ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare ACE_ZĂ„HLER&,SIZE_ACCOUNT&
Clear Needed&
Clear Laufwerk$
Clear System$,FSFlags&
Clear Test&,ANZAHL_BYTES&
Clear Zähler&,ACE_SIZE&
Clear SecFlag&,ACCESS_MASK&
Clear Vorhanden&,SecFlag&,NEEDED&
Clear ACE_ZĂ„HLER&,SIZE_ACCOUNT&
LET FSFlags&=0
LET LAUFWERK$=@LEFT$(Filename$,3)
DIM Label#,256
DIM LFLAGS#,4
DIM DAT#,256
DIM STRSID#,256
DIM P_STRSID#,4
DIM Needed#,4
ADDSTRING "Gewählte Datei="+Filename$
ADDSTRING "Gruppenname/Username="+USER$
ADDSTRING "Zu Addierende Rechte=..."
ADDSTRING FSFLAGS$
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET FEHLER&=@GetVolumeInformation(@ADDR(Laufwerk$),Label#,256,0,0,LFlags#,DAT#,256)
ADDSTRING "RĂĽckgabe von GetVolumeInformation="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Laufwerksflags="+@BIN$(@LONG(LFLAGS#,0))
ADDSTRING "Ausgelesene Partition="+@String$(Dat#,0)
IF @LONG(LFLAGS#,0) | $8 = @LONG(LFLAGS#,0)
DIM SIDa#,1
ADDSTRING "Zugriff ist einschränkbar"
LET SECFLAG&=$1 | $2 | $4
Clear Needed#
LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SecFlag&,0,0,Needed#)
ADDSTRING "RĂĽckgabe von GetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET NEEDED&=@LONG(Needed#,0)
ADDSTRING "Erforderliche Länge des Security Descriptor="+@STR$(Needed&)
CASE NEEDED&=0 : LET NEEDED&=1024
DIM PSECURITY_DESCRIPTOR#,Needed&
Clear PSECURITY_DESCRIPTOR#
@SetLastError(0)
LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SECFLAG&,PSECURITY_DESCRIPTOR#,NEEDED&,Needed#)
ADDSTRING "RĂĽckgabe von GetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR#)
ADDSTRING "RĂĽckgabe von IsValidSecurityDescriptor="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
DIM ACL_PRESENT#,1
DIM P_ACL#,4
DIM ACL_D#,4
Clear ACL_PRESENT#,P_ACL#,ACL_D#
Let Fehler&=@GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
ADDSTRING "RĂĽckgabe von GetSecurityDescriptorDacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
IF @LONG(ACL_PRESENT#,0)=1
ADDSTRING "DACL ist vorhanden!"
else
ADDSTRING "DACL ist nicht vorhanden!"
endif
LET ANZAHL_BYTES&=8 FĂĽr ACL HEADER 8 Bytes veranschlagt
IF @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)
DIM ACL_INFO#,12
DIM P_ACE#,4
CLEAR ACL_INFO#,P_ACE#
Let Fehler&=@GetAclInformation(@long(P_ACL#,0),ACL_INFO#,12,2)
ADDSTRING "RĂĽckgabe von GetAclInformation="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Anzahl benutzter Bytes in DACL="+@STR$(@LONG(ACL_INFO#,4))
ADDSTRING "Anzahl freier Bytes in DACL="+@STR$(@LONG(ACL_INFO#,8))
ADDSTRING "ACEs in DACL="+@STR$(@LONG(ACL_INFO#,0))
LET Zähler&=0
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
IF @STR$(@LONG(ACL_INFO#,0))<>0
While Zähler&<@LONG(ACL_INFO#,0)
Clear P_ACE#
Let Fehler&=@GetAce(@long(P_ACL#,0),Zähler&,P_ACE#)
DIM ACE#,4
Clear ACE#
@CopyMemory(ACE#,@LONG(P_ACE#,0),4)
LET ACE_SIZE&=@Word(ACE#,2) Die Größen aller ACEs werden addiert.
ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))
LET ANZAHL_BYTES&=ANZAHL_BYTES&+ACE_SIZE&
Dispose ACE#
DIM ACE#,ACE_SIZE&
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Clear ACE#
Long SIZE_ACCOUNT#,0=255
LONG SIZE_DOMAIN#,0=255
@CopyMemory(ACE#,@LONG(P_ACE#,0),ACE_SIZE&)
IF @BYTE(ACE#,0)=0
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_ALLOWED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=1
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_DENIED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=2
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_AUDIT_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=3
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_ALARM_ACE"
endif
DIM SID2#,ACE_SIZE&-8
@CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
LET Fehler&=@IsValidSid(SID2#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
LET FEHLER&=@LookupAccountSid(@ADDR(SYSTEM$),SID2#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgefĂĽhrt"
@SetLastError(0)
LET IO%=%IORESULT
Clear STRSID#
IF @VAL(@LEFT$($WINVER,3))>=5.0
LET FEHLER&=@ConvertSidToStringSid(SID2#,P_STRSID#)
@CopyMemory(STRSID#,@LONG(P_STRSID#,0),255)
ADDSTRING "RĂĽckgabe von ConvertSidToStringSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@LocalFree(@LONG(P_STRSID#,0))
ADDSTRING "RĂĽckgabe von LocalFree fĂĽr den String-SID="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "String-SID des "+@STR$(@int(Zähler&+1))+". ACEs="+@STRING$(STRSID#,0)
endif
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
IF @UPPER$(@String$(ACCOUNT_NAME#,0))=@UPPER$(USER$)
IF @AND(@BYTE(ACE#,0)=0,@INSTR("+",Hinzu_entfernen$)>0)
LET VORHANDEN&=@or(VORHANDEN&,1)
endif
IF @AND(@BYTE(ACE#,0)=1,@INSTR("-",Hinzu_entfernen$)>0)
LET VORHANDEN&=@or(VORHANDEN&,2)
endif
endif
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf Domainname="+@String$(Domain#,0)
ADDSTRING "Accessrechte des "+@STR$(@int(Zähler&+1))+". ACEs=$"+@HEX$(@LONG(ACE#,4))
LET ACCESS_MASK&=@LONG(ACE#,4)
IF @or(ACCESS_MASK&,$1F01FF)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_ALL_ACCESS (Vollzugriff)"
LET ACCESS_MASK&=ACCESS_MASK&-$1F01FF
endif
IF @or(ACCESS_MASK&,$1)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)"
LET ACCESS_MASK&=ACCESS_MASK&-$1
endif
IF @or(ACCESS_MASK&,$2)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)"
LET ACCESS_MASK&=ACCESS_MASK&-$2
endif
IF @or(ACCESS_MASK&,$4)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen)"
LET ACCESS_MASK&=ACCESS_MASK&-$4
endif
IF @or(ACCESS_MASK&,$8)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)"
LET ACCESS_MASK&=ACCESS_MASK&-$8
endif
IF @or(ACCESS_MASK&,$10)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)"
LET ACCESS_MASK&=ACCESS_MASK&-$10
endif
IF @or(ACCESS_MASK&,$20)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_EXECUTE (Erlaubt eine Datei auszuführen)"
LET ACCESS_MASK&=ACCESS_MASK&-$20
endif
IF @or(ACCESS_MASK&,$80)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_ATTRIBUTES (Lesen der Fileattribute)"
LET ACCESS_MASK&=ACCESS_MASK&-$80
endif
IF @or(ACCESS_MASK&,$100)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)"
LET ACCESS_MASK&=ACCESS_MASK&-$100
endif
IF @or(ACCESS_MASK&,$00040000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_DAC (Ändern der DACL Einträge)"
LET ACCESS_MASK&=ACCESS_MASK&-$00040000
endif
IF @or(ACCESS_MASK&,$00020000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=READ_CONTROL (Lesen der DACL Einträge und Besitzer)"
LET ACCESS_MASK&=ACCESS_MASK&-$00020000
endif
IF @or(ACCESS_MASK&,$00100000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)"
LET ACCESS_MASK&=ACCESS_MASK&-$00100000
endif
IF @or(ACCESS_MASK&,$40)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=File_Delete_Child (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)"
LET ACCESS_MASK&=ACCESS_MASK&-$40
endif
IF @or(ACCESS_MASK&,$01000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)"
LET ACCESS_MASK&=ACCESS_MASK&-$01000000
endif
IF @or(ACCESS_MASK&,$10000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_ALL"
LET ACCESS_MASK&=ACCESS_MASK&-$10000000
endif
IF @or(ACCESS_MASK&,$20000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_EXECUTE"
LET ACCESS_MASK&=ACCESS_MASK&-$20000000
endif
IF @or(ACCESS_MASK&,$40000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_WRITE"
LET ACCESS_MASK&=ACCESS_MASK&-$40000000
endif
IF @or(ACCESS_MASK&,$80000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_READ"
LET ACCESS_MASK&=ACCESS_MASK&-$80000000
endif
IF @or(ACCESS_MASK&,$80000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_OWNER (Eigentümer ändern)"
LET ACCESS_MASK&=ACCESS_MASK&-$80000
endif
IF @or(ACCESS_MASK&,$00010000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=_DELETE (Datei löschen)"
LET ACCESS_MASK&=ACCESS_MASK&-$00010000
endif
IF ACCESS_MASK&>0
ADDSTRING "Nicht berechnete Rechte="+@STR$(ACCESS_MASK&)+" ($"+@HEX$(ACCESS_MASK&)+")"
endif
LET Zähler&=Zähler&+1
Dispose SID2#
Dispose ACE#
wend
Endif
Clear SID_NAME_USE#,ACCOUNT_NAME#,Domain#,SIDa#,System$
Long SIZE_ACCOUNT#,0=1
LONG SIZE_DOMAIN#,0=255
LET Fehler&=@LookupAccountName(@ADDR(SYSTEM$),@addr(USER$),SIDa#,SIZE_ACCOUNT#,DOMAIN#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountName fĂĽr "+User$+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Länge des SIDs="+@STR$(@LONG(SIZE_ACCOUNT#,0))
LET SIZE_ACCOUNT&=@LONG(SIZE_ACCOUNT#,0)
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Long SIZE_ACCOUNT#,0=SIZE_ACCOUNT&
LONG SIZE_DOMAIN#,0=255
Dispose SIDa#
DIM SIDa#,SIZE_ACCOUNT&
Clear SIDa#
LET Fehler&=@LookupAccountName(@ADDR(SYSTEM$),@addr(USER$),SIDa#,SIZE_ACCOUNT#,DOMAIN#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountName fĂĽr "+User$+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Länge des SIDs="+@STR$(@LONG(SIZE_ACCOUNT#,0))
IF VORHANDEN&=0
LET Anzahl_Bytes&=Anzahl_Bytes&+@LONG(SIZE_ACCOUNT#,0)+8 Alle ACEs+SID+ACCESS_MASK+ACE_HEADER
endif
IF @INSTR("0",Hinzu_entfernen$)>0
LET Anzahl_Bytes&=@LONG(SIZE_ACCOUNT#,0)+8+8 SID+ACCESS_MASK+ACE_HEADER+ACL_HEADER
endif
Dispose ACCOUNT_NAME#
Dispose SIZE_ACCOUNT#
Dispose Domain#
Dispose SIZE_DOMAIN#
Dispose SID_NAME_USE#
Dispose P_ACE#
Dispose ACL_INFO#
Endif
ADDSTRING "Bytes fĂĽr ACL="+@STR$(Anzahl_Bytes&)
DIM NEW_ACL1#,Anzahl_Bytes&
LET FEHLER&=@InitializeAcl(NEW_ACL1#,Anzahl_Bytes&,$2)
ADDSTRING "RĂĽckgabe von InitializeAcl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
Clear ACL_PRESENT#,P_ACL#,ACL_D#
Let Fehler&=@GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
ADDSTRING "RĂĽckgabe von GetSecurityDescriptorDacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
IF @LONG(ACL_PRESENT#,0)=1
ADDSTRING "DACL ist vorhanden!"
else
ADDSTRING "DACL ist nicht vorhanden!"
endif
IF @INSTR("-",Hinzu_entfernen$)>0
LET ACE_ZĂ„HLER&=1
else
LET ACE_ZĂ„HLER&=0
endif
IF @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)
DIM ACL_INFO#,12
DIM P_ACE#,4
CLEAR ACL_INFO#,P_ACE#
Let Fehler&=@GetAclInformation(@long(P_ACL#,0),ACL_INFO#,12,2)
ADDSTRING "RĂĽckgabe von GetAclInformation="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Anzahl benutzter Bytes in DACL="+@STR$(@LONG(ACL_INFO#,4))
ADDSTRING "Anzahl freier Bytes in DACL="+@STR$(@LONG(ACL_INFO#,8))
ADDSTRING "ACEs in DACL="+@STR$(@LONG(ACL_INFO#,0))
LET Zähler&=0
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
IF @STR$(@LONG(ACL_INFO#,0))<>0
While Zähler&<@LONG(ACL_INFO#,0)
Clear P_ACE#
Let Fehler&=@GetAce(@long(P_ACL#,0),Zähler&,P_ACE#)
DIM ACE#,4
Clear ACE#
@CopyMemory(ACE#,@LONG(P_ACE#,0),4)
ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))
LET ANZAHL_BYTES&=ANZAHL_BYTES&+ACE_SIZE&
Dispose ACE#
DIM ACE#,ACE_SIZE&
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Clear ACE#
Long SIZE_ACCOUNT#,0=255
LONG SIZE_DOMAIN#,0=255
@CopyMemory(ACE#,@LONG(P_ACE#,0),ACE_SIZE&)
IF @BYTE(ACE#,0)=0
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_ALLOWED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=1
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_DENIED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=2
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_AUDIT_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=3
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_ALARM_ACE"
endif
ADDSTRING "Vererbung="+@STR$(@BYTE(ACE#,1))
DIM SID2#,ACE_SIZE&-8
@CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
LET Fehler&=@IsValidSid(SID2#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
LET FEHLER&=@LookupAccountSid(@ADDR(System$),SID2#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgefĂĽhrt"
@SetLastError(0)
LET IO%=%IORESULT
Clear STRSID#
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
ADDSTRING "Accessrechte des "+@STR$(@int(Zähler&+1))+". ACEs=$"+@HEX$(@LONG(ACE#,4))
LET ACCESS_MASK&=@LONG(ACE#,4)
IF @UPPER$(@String$(ACCOUNT_NAME#,0))=@UPPER$(USER$)
IF @BYTE(ACE#,0)=0
IF @INSTR("+",Hinzu_entfernen$)>0
CASE @INSTR("0",Hinzu_entfernen$)=0 : LET FSFlags&=ACCESS_MASK&
ElseIF @INSTR("-",Hinzu_entfernen$)>0
if @INSTR("0",Hinzu_entfernen$)=0
IF @AND(@or(ACCESS_MASK&,$1)=ACCESS_MASK&,@INSTR("FILE_READ_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$1
endif
IF @AND(@or(ACCESS_MASK&,$2)=ACCESS_MASK&,@INSTR("FILE_WRITE_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$2
endif
IF @AND(@or(ACCESS_MASK&,$4)=ACCESS_MASK&,@INSTR("FILE_APPEND_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$4
endif
IF @AND(@or(ACCESS_MASK&,$8)=ACCESS_MASK&,@INSTR("FILE_READ_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$8
endif
IF @AND(@or(ACCESS_MASK&,$10)=ACCESS_MASK&,@INSTR("FILE_WRITE_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$10
endif
IF @AND(@or(ACCESS_MASK&,$20)=ACCESS_MASK&,@INSTR("FILE_EXECUTE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$20
endif
IF @AND(@or(ACCESS_MASK&,$80)=ACCESS_MASK&,@INSTR("FILE_READ_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80
endif
IF @AND(@or(ACCESS_MASK&,$100)=ACCESS_MASK&,@INSTR("FILE_WRITE_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$100
endif
IF @AND(@or(ACCESS_MASK&,$00040000)=ACCESS_MASK&,@INSTR("WRITE_DAC",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00040000
endif
IF @AND(@or(ACCESS_MASK&,$00020000)=ACCESS_MASK&,@INSTR("READ_CONTROL",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00020000
endif
IF @AND(@or(ACCESS_MASK&,$00100000)=ACCESS_MASK&,@INSTR("SYNCHRONIZE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00100000
endif
IF @AND(@or(ACCESS_MASK&,$40)=ACCESS_MASK&,@INSTR("FILE_DELETE_CHILD",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$40
endif
IF @AND(@or(ACCESS_MASK&,$01000000)=ACCESS_MASK&,@INSTR("ACCESS_SYSTEM_SECURITY",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$01000000
endif
IF @AND(@or(ACCESS_MASK&,$80000)=ACCESS_MASK&,@INSTR("WRITE_OWNER",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80000
endif
IF @AND(@or(ACCESS_MASK&,$00010000)=ACCESS_MASK&,@INSTR("F_DELETE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00010000
endif
ADDSTRING "Bei ALLOWED_ACE zu addierende Rechte=$"+@HEX$(ACCESS_MASK&)
LONG ACE#,4=ACCESS_MASK&
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
ENDIF
endif
Elseif @BYTE(ACE#,0)=1
IF @INSTR("+",Hinzu_entfernen$)>0
IF @INSTR("0",Hinzu_entfernen$)=0
IF @AND(@or(ACCESS_MASK&,$1)=ACCESS_MASK&,@INSTR("FILE_READ_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$1
endif
IF @AND(@or(ACCESS_MASK&,$2)=ACCESS_MASK&,@INSTR("FILE_WRITE_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$2
endif
IF @AND(@or(ACCESS_MASK&,$4)=ACCESS_MASK&,@INSTR("FILE_APPEND_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$4
endif
IF @AND(@or(ACCESS_MASK&,$8)=ACCESS_MASK&,@INSTR("FILE_READ_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$8
endif
IF @AND(@or(ACCESS_MASK&,$10)=ACCESS_MASK&,@INSTR("FILE_WRITE_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$10
endif
IF @AND(@or(ACCESS_MASK&,$20)=ACCESS_MASK&,@INSTR("FILE_EXECUTE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$20
endif
IF @AND(@or(ACCESS_MASK&,$80)=ACCESS_MASK&,@INSTR("FILE_READ_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80
endif
IF @AND(@or(ACCESS_MASK&,$100)=ACCESS_MASK&,@INSTR("FILE_WRITE_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$100
endif
IF @AND(@or(ACCESS_MASK&,$00040000)=ACCESS_MASK&,@INSTR("WRITE_DAC",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00040000
endif
IF @AND(@or(ACCESS_MASK&,$00020000)=ACCESS_MASK&,@INSTR("READ_CONTROL",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00020000
endif
IF @AND(@or(ACCESS_MASK&,$00100000)=ACCESS_MASK&,@INSTR("SYNCHRONIZE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00100000
endif
IF @AND(@or(ACCESS_MASK&,$40)=ACCESS_MASK&,@INSTR("FILE_DELETE_CHILD",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$40
endif
IF @AND(@or(ACCESS_MASK&,$01000000)=ACCESS_MASK&,@INSTR("ACCESS_SYSTEM_SECURITY",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$01000000
endif
IF @AND(@or(ACCESS_MASK&,$80000)=ACCESS_MASK&,@INSTR("WRITE_OWNER",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80000
endif
IF @AND(@or(ACCESS_MASK&,$00010000)=ACCESS_MASK&,@INSTR("F_DELETE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00010000
endif
ADDSTRING "Bei DENIED_ACE zu addierende Rechte=$"+@HEX$(ACCESS_MASK&)
LONG ACE#,4=ACCESS_MASK&
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
endif
ElseIF @INSTR("-",Hinzu_entfernen$)>0
IF @INSTR("0",Hinzu_entfernen$)=0
LONG ACE#,4=ACCESS_MASK&
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "Bei DENIED_ACE zu addierende Rechte=$"+@HEX$(ACCESS_MASK&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
endif
endif
endif
else
IF @INSTR("0",Hinzu_entfernen$)=0
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
endif
endif
LET Zähler&=Zähler&+1
Dispose SID2#
Dispose ACE#
wend
Endif
DIM ACE#,SIZE_ACCOUNT&+8
IF @INSTR("+",Hinzu_entfernen$)>0
Byte ACE#,0=0
ADDSTRING "Bei ALLOWED_ACE..."
ELSEIF @INSTR("-",Hinzu_entfernen$)>0
Byte ACE#,0=1
ADDSTRING "Bei DENIED_ACE..."
endif
IF @INSTR("FILE_READ_DATA",@UPPER$(FSFlags$))>0
LET FSFlags&=@OR(FSFLAGS&,$1)
endif
IF @INSTR("FILE_WRITE_DATA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$2)
endif
IF @INSTR("FILE_APPEND_DATA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$4)
endif
IF @INSTR("FILE_READ_EA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$8)
endif
IF @INSTR("FILE_WRITE_EA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$10)
endif
IF @INSTR("FILE_EXECUTE",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$20)
endif
IF @INSTR("FILE_DELETE_CHILD",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$40)
endif
IF @INSTR("FILE_READ_ATTRIBUTES",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$80)
endif
IF @INSTR("FILE_WRITE_ATTRIBUTES",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$100)
endif
IF @INSTR("F_DELETE",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$10000)
endif
IF @INSTR("READ_CONTROL",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$20000)
endif
IF @INSTR("WRITE_DAC",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$40000)
endif
IF @INSTR("SYNCHRONIZE",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$100000)
endif
IF @INSTR("ACCESS_SYSTEM_SECURITY",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$1000000)
endif
IF @INSTR("WRITE_OWNER",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$80000)
endif
Byte ACE#,1=0
WORD ACE#,2=SIZE_ACCOUNT&+8
LONG ACE#,4=FSFlags&
LET ZĂ„HLER&=0
ADDSTRING "...zu addierende Rechte=$"+@HEX$(FSFlags&)
WHILE ZĂ„HLER&<>SIZE_ACCOUNT&
BYTE ACE#,8+Zähler&=@BYTE(SIDa#,Zähler&)
LET ZĂ„HLER&=ZĂ„HLER&+1
WEND
IF @INSTR("-",Hinzu_entfernen$)>0
LET ACE_ZĂ„HLER&=0
endif
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,SIZE_ACCOUNT&+8)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(NEW_ACL1#)
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET TEST&=NEW_ACL1#
LET FEHLER&=@InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR#,$1)
ADDSTRING "RĂĽckgabe von InitializeSecurityDescriptor="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET FEHLER&=@SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,1,NEW_ACL1#,0)
ADDSTRING "RĂĽckgabe von SetSecurityDescriptorDacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET FEHLER&=@SetFileSecurity(@ADDR(FileName$),$4,PSECURITY_DESCRIPTOR#)
ADDSTRING "RĂĽckgabe von SetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
DISPOSE ACE#
Dispose ACCOUNT_NAME#
Dispose SIZE_ACCOUNT#
Dispose Domain#
Dispose SIZE_DOMAIN#
Dispose SID_NAME_USE#
Dispose P_ACE#
Dispose ACL_INFO#
endif
Dispose PSECURITY_DESCRIPTOR#
Dispose Needed#
Dispose NEW_ACL1#
Dispose ACL_PRESENT#
Dispose P_ACL#
Dispose ACL_D#
Dispose SIDa#
else
ADDSTRING "Zugriff ist nicht einschränkbar"
@Messagebox("Der Zugriff auf die angegebene Datei ist nicht einschränkbar!","Zugriff nicht einschränkbar!",16)
endif
Dispose Label#
Dispose LFlags#
DISPOSE DAT#
Dispose STRSID#
Dispose P_STRSID#
else
CASE FILENAME$="" : @Messagebox("DIe Prozedur benötigt einen Dateinamen!","Fehler beim 1.Parametern",16)
CASE USER$="" : @Messagebox("DIe Prozedur benötigt einen User- oder Gruppennamen!","Fehler beim 2.Parametern",16)
CASE @AND(@INSTR("+",Hinzu_entfernen$)=0,@INSTR("-",Hinzu_entfernen$)=0) : @Messagebox("DIe Prozedur benötigt ein + oder ein - als dritten Parameter!","Fehler beim 3.Parametern",16)
endif
Endproc
Declare Datei$
LET DATEI$=@LoadFile$("Datei auswählen","*.*")
Set_ACE_IN_DACL Datei$,"Andreas","+0","SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE"
Get_Group_Name "Jeder"
Set_ACE_IN_DACL Datei$,@$(0),"+","SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE"
Get_Group_Name "Jeder& /span>
Set_ACE_IN_DACL Expediente$,@$ (0), "-", "F_DELETE"
Get_Group_Name "Administratoren"
Set_ACE_IN_DACL Expediente$,@$ (0), "+", "FILE_DELETE_CHILD,READ_CONTROL,ACCESS_SYSTEM_SECURITY,WRITE_OWNER,WRITE_DAC,F_DELETE,SYNCHRONIZE,FILE_WRITE_EA,FILE_READ_EA,FILE_READ_DATA,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_EXECUTE,FILE_READ_ATTRIBUTES,FILE_WRITE_ATTRIBUTES,F_DELETE"
@ Editbox("API Rückgaben", 1)
|
| | | | |
| | | So?[quote:3d16bd5b50]Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewaehlte Datei=Cokumente y EinstellungenPackard BellDesktopwischenablage01.bmp Gruppenname/Username=Jeder Zu Addierende Rechte=... SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE Letzter API-Fehler=997 Raeckgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschraenkbar Raeckgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Laenge des Security Descriptor=164 Raeckgabe de GetFileSecurity=1 Letzter API-Fehler=0 Raeckgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Raeckgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el DACL=1 Letzter API-Fehler=0 DACL es disponible! Raeckgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=88 Anzahl freier Bytes en DACL=0 ACEs en DACL=3 Graeße des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE Bezogen en SID=Packard Bell 1. ACE Bezogen en Domainname=C4 Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Graeße des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-5-18 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Graeße des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 3. ACEs=S-1-5-32-544 3. ACE Bezogen en SID=Administratoren 3. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Raeckgabe de LookupAccountName faer Jeder=0 Letzter API-Fehler=122 Laenge des SIDs=12 Raeckgabe de LookupAccountName faer Jeder=1 Letzter API-Fehler=997 Laenge des SIDs=12 Bytes faer ACL=108 Raeckgabe de InitializeAcl=1 Letzter API-Fehler=997 Raeckgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Raeckgabe de IsValidAcl faer el DACL=1 Letzter API-Fehler=997 DACL es disponible! Raeckgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=88 Anzahl freier Bytes en DACL=0 ACEs en DACL=3 Graeße des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=997 Raeckgabe de LookupAccountSid=0 Letzter API-Fehler=1332 Reset des API-Fehlers se durchgefaehrt 1. ACE Bezogen en SID= Accessrechte des 1. ACEs=$1F01FF Raeckgabe de AddAce a Punkt 0=0 Letzter API-Fehler=87 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=0 Letzter API-Fehler=87 Graeße des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=87 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt 2. ACE Bezogen en SID=SYSTEM Accessrechte des 2. ACEs=$1F01FF Raeckgabe de AddAce a Punkt 1=0 Letzter API-Fehler=87 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=0 Letzter API-Fehler=87 Graeße des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=87 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt 3. ACE Bezogen en SID=Administratoren Accessrechte des 3. ACEs=$1F01FF Raeckgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$1101BF Raeckgabe de AddAce a Punkt 3=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 Raeckgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Raeckgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Raeckgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewaehlte Datei=Cokumente y EinstellungenPackard BellDesktopwischenablage01.bmp Gruppenname/Username=Jeder Zu Addierende Rechte=... F_DELETE Letzter API-Fehler=997 Raeckgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschraenkbar Raeckgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Laenge des Security Descriptor=184 Raeckgabe de GetFileSecurity=1 Letzter API-Fehler=0 Raeckgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Raeckgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el DACL=1 Letzter API-Fehler=0 DACL es disponible! Raeckgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=52 Anzahl freier Bytes en DACL=56 ACEs en DACL=2 Graeße des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-32-544 1. ACE Bezogen en SID=Administratoren 1. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Graeße des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-1-0 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1101BF Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 2. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhaengen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszufaehren) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=FILE_WRITE_ATTRIBUTES (aendern el Fileattribute) Recht en el 2. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Recht en el 2. ACE=_DELETE (Expediente laeschen) Raeckgabe de LookupAccountName faer Jeder=0 Letzter API-Fehler=122 Laenge des SIDs=12 Raeckgabe de LookupAccountName faer Jeder=1 Letzter API-Fehler=997 Laenge des SIDs=12 Bytes faer ACL=72 Raeckgabe de InitializeAcl=1 Letzter API-Fehler=997 Raeckgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Raeckgabe de IsValidAcl faer el DACL=1 Letzter API-Fehler=997 DACL es disponible! Raeckgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=52 Anzahl freier Bytes en DACL=56 ACEs en DACL=2 Graeße des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=997 Raeckgabe de LookupAccountSid=0 Letzter API-Fehler=1332 Reset des API-Fehlers se durchgefaehrt 1. ACE Bezogen en SID= Accessrechte des 1. ACEs=$1F01FF Raeckgabe de AddAce a Punkt 1=0 Letzter API-Fehler=87 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=0 Letzter API-Fehler=87 Graeße des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=87 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt 2. ACE Bezogen en SID=Jeder Accessrechte des 2. ACEs=$1101BF En ALLOWED_ACE a addierende Rechte=$1001BF Raeckgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 En DENIED_ACE... ...a addierende Rechte=$10000 Raeckgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 Raeckgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Raeckgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Raeckgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Administratoren ****PROZEDUR comenzó**** Gewaehlte Datei=Cokumente y EinstellungenPackard BellDesktopwischenablage01.bmp Gruppenname/Username=Administratoren Zu Addierende Rechte=... FILE_DELETE_CHILD,READ_CONTROL,ACCESS_SYSTEM_SECURITY,WRITE_OWNER,WRITE_DAC,F_DELETE,SYNCHRONIZE,FILE_WRITE_EA,FILE_READ_EA,FILE_READ_DATA,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_EXECUTE,FILE_READ_ATTRIBUTES,FILE_WRITE_ATTRIBUTES,F_DELETE Letzter API-Fehler=997 Raeckgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschraenkbar Raeckgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Laenge des Security Descriptor=148 Raeckgabe de GetFileSecurity=1 Letzter API-Fehler=0 Raeckgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Raeckgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el DACL=1 Letzter API-Fehler=0 DACL es disponible! Raeckgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=48 Anzahl freier Bytes en DACL=24 ACEs en DACL=2 Graeße des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-1-0 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$10000 Recht en el 1. ACE=_DELETE (Expediente laeschen) Graeße des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt Raeckgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Raeckgabe de LocalFree faer el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-1-0 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1001BF Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 2. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhaengen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszufaehren) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=FILE_WRITE_ATTRIBUTES (aendern el Fileattribute) Recht en el 2. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Raeckgabe de LookupAccountName faer Administratoren=0 Letzter API-Fehler=122 Laenge des SIDs=16 Raeckgabe de LookupAccountName faer Administratoren=1 Letzter API-Fehler=997 Laenge des SIDs=16 Bytes faer ACL=72 Raeckgabe de InitializeAcl=1 Letzter API-Fehler=997 Raeckgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Raeckgabe de IsValidAcl faer el DACL=1 Letzter API-Fehler=997 DACL es disponible! Raeckgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=48 Anzahl freier Bytes en DACL=24 ACEs en DACL=2 Graeße des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=997 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt 1. ACE Bezogen en SID=Jeder Accessrechte des 1. ACEs=$10000 Raeckgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 Graeße des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Raeckgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgefaehrt 2. ACE Bezogen en SID=Jeder Accessrechte des 2. ACEs=$1001BF Raeckgabe de AddAce a Punkt 1=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$11F01FF Raeckgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Raeckgabe de IsValidAcl faer el selbsterzeugten DACL=1 Letzter API-Fehler=0 Raeckgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Raeckgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Raeckgabe de SetFileSecurity=1 Letzter API-Fehler=0[/quote:3d16bd5b50]Salve. |
| | | | |
| | | ¡Hola IF...
Füge el Expediente Por favor, veces encima el WindowsExplorer 2 weitere ACLs hinzu. Als driien Aufruf füge entonces veces deinen Usernamen una y lasse el volle Rechte geben (como en Andreas). Starte entonces una vez el Procedimiento... Wenn du entonces el ACLS en el Windows Explorer betrachtest - fueron ellos correcto gesetzt??? |
| | | | |
| | | | - Página 2 - |
| | | Das hast Usted mich ya X-Tiempo gebeten. Puedo nix conjunto - siempre todavía no. Mir fehlt el besagte DLG. Gott weiß por qué - bin UpToDate.
An el XPPro komm Yo grad net ran. Sorry.
Salve. |
| | | | |
| | | ¡Hola IF...
Ach du warst el . Gibts el bajo XPHome no? |
| | | | |
| | | Nochmals @IF...
Der 1332 Fehler en LookupAccountName macht me todavía algo sorgen, Yo pensamiento, el hätte Yo beseitigt. Hast du evtl. el vorherige Versión auch getestet? Wenn sí, Por favor, todavía una vez testen. |
| | | | |
| | | Hier el Ergebnis des vorletzten Sources de Usted:[quote:6bcedcfeac]Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewählte Datei=Cokumente y EinstellungenPackard BellDesktopzeichen.jpg Gruppenname/Username=Jeder Zu Addierende Rechte=... SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=164 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=88 Anzahl freier Bytes en DACL=0 ACEs en DACL=3 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE Bezogen en SID=Packard Bell 1. ACE Bezogen en Domainname=C4 Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-5-18 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 3. ACEs=S-1-5-32-544 3. ACE Bezogen en SID=Administratoren 3. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de LookupAccountName para Jeder=0 Letzter API-Fehler=122 Longitud des SIDs=12 Rückgabe de LookupAccountName para Jeder=1 Letzter API-Fehler=997 Longitud des SIDs=12 Bytes para ACL=108 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=88 Anzahl freier Bytes en DACL=0 ACEs en DACL=3 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=997 Rückgabe de LookupAccountSid=0 Letzter API-Fehler=1332 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID= Accessrechte des 1. ACEs=$1F01FF Rückgabe de AddAce a Punkt 0=0 Letzter API-Fehler=87 Rückgabe de IsValidAcl para el selbsterzeugten DACL=0 Letzter API-Fehler=87 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=87 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM Accessrechte des 2. ACEs=$1F01FF Rückgabe de AddAce a Punkt 1=0 Letzter API-Fehler=87 Rückgabe de IsValidAcl para el selbsterzeugten DACL=0 Letzter API-Fehler=87 Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=87 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Administratoren Accessrechte des 3. ACEs=$1F01FF Rückgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$1101BF Rückgabe de AddAce a Punkt 3=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewählte Datei=Cokumente y EinstellungenPackard BellDesktopzeichen.jpg Gruppenname/Username=Jeder Zu Addierende Rechte=... F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=184 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=52 Anzahl freier Bytes en DACL=56 ACEs en DACL=2 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-32-544 1. ACE Bezogen en SID=Administratoren 1. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-1-0 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1101BF Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 2. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 2. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Recht en el 2. ACE=_DELETE (Expediente löschen) Rückgabe de LookupAccountName para Jeder=0 Letzter API-Fehler=122 Longitud des SIDs=12 Rückgabe de LookupAccountName para Jeder=1 Letzter API-Fehler=997 Longitud des SIDs=12 Bytes para ACL=72 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=52 Anzahl freier Bytes en DACL=56 ACEs en DACL=2 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=997 Rückgabe de LookupAccountSid=0 Letzter API-Fehler=1332 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID= Accessrechte des 1. ACEs=$1F01FF Rückgabe de AddAce a Punkt 1=0 Letzter API-Fehler=87 Rückgabe de IsValidAcl para el selbsterzeugten DACL=0 Letzter API-Fehler=87 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=87 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder Accessrechte des 2. ACEs=$1101BF En ALLOWED_ACE a addierende Rechte=$1001BF Rückgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En DENIED_ACE... ...a addierende Rechte=$10000 Rückgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Administratoren ****PROZEDUR comenzó**** Gewählte Datei=Cokumente y EinstellungenPackard BellDesktopzeichen.jpg Gruppenname/Username=Administratoren Zu Addierende Rechte=... FILE_DELETE_CHILD,READ_CONTROL,ACCESS_SYSTEM_SECURITY,WRITE_OWNER,WRITE_DAC,F_DELETE,SYNCHRONIZE,FILE_WRITE_EA,FILE_READ_EA,FILE_READ_DATA,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_EXECUTE,FILE_READ_ATTRIBUTES,FILE_WRITE_ATTRIBUTES,F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=148 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=48 Anzahl freier Bytes en DACL=24 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-1-0 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$10000 Recht en el 1. ACE=_DELETE (Expediente löschen) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-1-0 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1001BF Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 2. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 2. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Rückgabe de LookupAccountName para Administratoren=0 Letzter API-Fehler=122 Longitud des SIDs=16 Rückgabe de LookupAccountName para Administratoren=1 Letzter API-Fehler=997 Longitud des SIDs=16 Bytes para ACL=72 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=48 Anzahl freier Bytes en DACL=24 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=997 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder Accessrechte des 1. ACEs=$10000 Rückgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder Accessrechte des 2. ACEs=$1001BF Rückgabe de AddAce a Punkt 1=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$11F01FF Rückgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0[/quote:6bcedcfeac]Das Ergebnis des letzten Sources de Usted es el Vorherige.
Salve. |
| | | | |
| | | Besten Dank! Hab el Fehler. So läufts (hoffentlich) tadellos. KompilierenMarcaSeparaciónDEF @SetFileSecurity(3) !"ADVAPI32","SetFileSecurityA"
DEF @InitializeSecurityDescriptor(2) !"ADVAPI32","InitializeSecurityDescriptor"
DEF @SetSecurityDescriptorDacl(4) !"ADVAPI32","SetSecurityDescriptorDacl"
DEF @AddAce(5) !"ADVAPI32","AddAce"
DEF @LookupAccountName(7) !"advapi32","LookupAccountNameA"
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @SetLastError(1) !"KERNEL32","SetLastError"
DEF @LookupPrivilegeName(4)!"advapi32","LookupPrivilegeNameA" Ermittelt aus dem Luid eines Privilegs dessen Namen.
DEF @LookupPrivilegeValue(3) !"advapi32","LookupPrivilegeValueA" Ermittelt aus dem Namen eines Privilegs dessen Luid.
DEF @OpenProcessToken(3) !"advapi32","OpenProcessToken" Ă–ffnet Einstellprozess.
DEF @AdjustTokenPrivileges(6) !"advapi32","AdjustTokenPrivileges" Stellt Privilegien ein.
DEF @GetCurrentProcess(0) !"kernel32","GetCurrentProcess" Ermittel das Handle des aktiven Prozesses.
DEF @CloseHandle(1) !"kernel32","CloseHandle" SchlieĂźt ein Handle (Programm).
Def @GetVolumeInformation(8) !"KERNEL32","GetVolumeInformationA"
DEF @GetSecurityDescriptorOwner(3) !"ADVAPI32","GetSecurityDescriptorOwner"
DEF @GetSecurityDescriptorGroup(3) !"ADVAPI32","GetSecurityDescriptorGroup"
DEF @GetSecurityDescriptorDACL(4) !"ADVAPI32","GetSecurityDescriptorDacl"
DEF @GetSecurityDescriptorSACL(4) !"ADVAPI32","GetSecurityDescriptorSacl"
DEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
DEF @IsValidSecurityDescriptor(1) !"ADVAPI32","IsValidSecurityDescriptor"
DEF @IsValidSid(1) !"ADVAPI32","IsValidSid"
DEF @IsValidAcl(1) !"ADVAPI32","IsValidAcl"
DEF @GetAclInformation(4) !"ADVAPI32","GetAclInformation"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
DEF @GetAce(3) !"ADVAPI32","GetAce"
DEF @ConvertSidToStringSid(2) !"ADVAPI32","ConvertSidToStringSidA"
DEF @LocalFree(1) !"KERNEL32","LocalFree"
DEF @InitializeAcl(3) !"ADVAPI32","InitializeAcl"
Declare Fehler&
Proc GET_Group_Name
Parameters Name$
Declare SYS$,SEC_ID#,CBNAME_SIZE#,CBNAME#,ReferencedDomainName#,RDN_SIZE#
Declare SID_NAME_USE#,CBNAME$
SID wird erstellt.
IF @UPPER$(Name$)="JEDER"
DIM SEC_ID#,12
ElseIF @UPPER$(Name$)="ADMINISTRATOREN"
DIM SEC_ID#,16
else
DIM SEC_ID#,12
@Messagebox("Falscher Parameter!","Fehler",16)
endif
DIM CBNAME_SIZE#,4
DIM CBNAME#,256
DIM ReferencedDomainName#,256
DIM RDN_SIZE#,4
DIM SID_NAME_USE#,4
Clear SYS$,SID_NAME_USE#,CBNAME#,ReferencedDomainName#,SEC_ID#
IF @UPPER$(Name$)="JEDER"
LONG SEC_ID#,0=257
LONG SEC_ID#,4=16777216
LONG SEC_ID#,8=0
elseIF @UPPER$(Name$)="ADMINISTRATOREN"
LONG SEC_ID#,0=513
LONG SEC_ID#,4=83886080
LONG SEC_ID#,8=32
LONG SEC_ID#,12=544
endif
LONG CBNAME_SIZE#,0=256
LONG RDN_SIZE#,0=256
LET Fehler&=@IsValidSid(SEC_ID#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
CASE FEHLER&=1 : LET FEHLER&=@LookupAccountSid(@ADDR(SYS$),SEC_ID#,CBNAME#,CBNAME_SIZE#,ReferencedDomainName#,RDN_SIZE#,SID_NAME_USE#)
ADDSTRING "Fehlercode LookupAccountSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
ADDSTRING @STRING$(CBNAME#,0)
LET CBNAME$=@STRING$(CBNAME#,0)
Dispose SID_NAME_USE#
Dispose RDN_SIZE#
Dispose ReferencedDomainName#
Dispose CBNAME#
DISPOSE SEC_ID#
DISPOSE CBNAME_SIZE#
Return CBNAME$
endproc
Proc Set_ACE_IN_DACL
Parameters FileName$,User$,Hinzu_entfernen$,FSFlags$
1.Parameter= Dateiname
2.Parameter= Username
3.Parameter= +;-;0 (+=Rechte entfernen, -=hinzufügen, 0=alles vorhandene löschen)
4.Parameter= Flags als String
Mögliche Flags
FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)
FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)
FILE_APPEND_DATA (Erlaubt Daten anzuhängen)
FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)
FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)
FILE_EXECUTE (Erlaubt eine Datei auszufĂĽhren)
FILE_READ_ATTRIBUTES (Lesen der Fileattribute)
FILE_WRITE_ATTRIBUTES (Ă„ndern der Fileattribute)
WRITE_DAC (Ändern der DACL Einträge)
READ_CONTROL (Lesen der DACL Einträge und Besitzer)
SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)
File_Delete_CHILD (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)
ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)
WRITE_OWNER (Eigentümer ändern)
F_DELETE (Datei löschen)
ADDSTRING "****PROZEDUR gestartet****"
IF @AND(Filename$<>"",@AND(USER$<>"",@OR(@INSTR("+",Hinzu_entfernen$)>0,@INSTR("-",Hinzu_entfernen$)>0)))
Declare NEW_ACL1#,SIDA#
Declare PSECURITY_DESCRIPTOR#,Needed#,Needed&
Declare Laufwerk$,Label#,LFLAGS#,DAT#
DEclare SID#,GFLAG#,System$,FSFlags&
DEclare ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare Test&,ANZAHL_BYTES&
Declare ACL_PRESENT#,P_ACL#,ACL_D#
Declare ACL_INFO#,Zähler&,ACE#,P_ACE#,ACE_SIZE&,STRSID#,P_STRSID#
Declare SID2#,IO%,SecFlag&,ACCESS_MASK&
Declare Vorhanden&,Needed#,SecFlag&,NEEDED&
Declare PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#
DEclare ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare ACE_ZĂ„HLER&,SIZE_ACCOUNT&
Clear Needed&
Clear Laufwerk$
Clear System$,FSFlags&
Clear Test&,ANZAHL_BYTES&
Clear Zähler&,ACE_SIZE&
Clear SecFlag&,ACCESS_MASK&
Clear Vorhanden&,SecFlag&,NEEDED&
Clear ACE_ZĂ„HLER&,SIZE_ACCOUNT&
LET FSFlags&=0
LET LAUFWERK$=@LEFT$(Filename$,3)
DIM Label#,256
DIM LFLAGS#,4
DIM DAT#,256
DIM STRSID#,256
DIM P_STRSID#,4
DIM Needed#,4
ADDSTRING "Gewählte Datei="+Filename$
ADDSTRING "Gruppenname/Username="+USER$
ADDSTRING "Zu Addierende Rechte=..."
ADDSTRING FSFLAGS$
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET FEHLER&=@GetVolumeInformation(@ADDR(Laufwerk$),Label#,256,0,0,LFlags#,DAT#,256)
ADDSTRING "RĂĽckgabe von GetVolumeInformation="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Laufwerksflags="+@BIN$(@LONG(LFLAGS#,0))
ADDSTRING "Ausgelesene Partition="+@String$(Dat#,0)
IF @LONG(LFLAGS#,0) | $8 = @LONG(LFLAGS#,0)
DIM SIDa#,1
ADDSTRING "Zugriff ist einschränkbar"
LET SECFLAG&=$1 | $2 | $4
Clear Needed#
LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SecFlag&,0,0,Needed#)
ADDSTRING "RĂĽckgabe von GetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET NEEDED&=@LONG(Needed#,0)
ADDSTRING "Erforderliche Länge des Security Descriptor="+@STR$(Needed&)
CASE NEEDED&=0 : LET NEEDED&=1024
DIM PSECURITY_DESCRIPTOR#,Needed&
Clear PSECURITY_DESCRIPTOR#
@SetLastError(0)
LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SECFLAG&,PSECURITY_DESCRIPTOR#,NEEDED&,Needed#)
ADDSTRING "RĂĽckgabe von GetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR#)
ADDSTRING "RĂĽckgabe von IsValidSecurityDescriptor="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
DIM ACL_PRESENT#,1
DIM P_ACL#,4
DIM ACL_D#,4
Clear ACL_PRESENT#,P_ACL#,ACL_D#
Let Fehler&=@GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
ADDSTRING "RĂĽckgabe von GetSecurityDescriptorDacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
IF @LONG(ACL_PRESENT#,0)=1
ADDSTRING "DACL ist vorhanden!"
else
ADDSTRING "DACL ist nicht vorhanden!"
endif
LET ANZAHL_BYTES&=8 FĂĽr ACL HEADER 8 Bytes veranschlagt
IF @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)
DIM ACL_INFO#,12
DIM P_ACE#,4
CLEAR ACL_INFO#,P_ACE#
Let Fehler&=@GetAclInformation(@long(P_ACL#,0),ACL_INFO#,12,2)
ADDSTRING "RĂĽckgabe von GetAclInformation="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Anzahl benutzter Bytes in DACL="+@STR$(@LONG(ACL_INFO#,4))
ADDSTRING "Anzahl freier Bytes in DACL="+@STR$(@LONG(ACL_INFO#,8))
ADDSTRING "ACEs in DACL="+@STR$(@LONG(ACL_INFO#,0))
LET Zähler&=0
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
IF @STR$(@LONG(ACL_INFO#,0))<>0
While Zähler&<@LONG(ACL_INFO#,0)
Clear P_ACE#
Let Fehler&=@GetAce(@long(P_ACL#,0),Zähler&,P_ACE#)
DIM ACE#,4
Clear ACE#
@CopyMemory(ACE#,@LONG(P_ACE#,0),4)
LET ACE_SIZE&=@Word(ACE#,2) Die Größen aller ACEs werden addiert.
ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))
LET ANZAHL_BYTES&=ANZAHL_BYTES&+ACE_SIZE&
Dispose ACE#
DIM ACE#,ACE_SIZE&
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Clear ACE#
Long SIZE_ACCOUNT#,0=256
LONG SIZE_DOMAIN#,0=256
@CopyMemory(ACE#,@LONG(P_ACE#,0),ACE_SIZE&)
IF @BYTE(ACE#,0)=0
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_ALLOWED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=1
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_DENIED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=2
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_AUDIT_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=3
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_ALARM_ACE"
endif
DIM SID2#,ACE_SIZE&-8
clear SID2#
@CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
LET Fehler&=@IsValidSid(SID2#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
LET FEHLER&=@LookupAccountSid(@ADDR(SYSTEM$),SID2#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgefĂĽhrt"
@SetLastError(0)
LET IO%=%IORESULT
Clear STRSID#
IF @VAL(@LEFT$($WINVER,3))>=5.0
LET FEHLER&=@ConvertSidToStringSid(SID2#,P_STRSID#)
@CopyMemory(STRSID#,@LONG(P_STRSID#,0),256)
ADDSTRING "RĂĽckgabe von ConvertSidToStringSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@LocalFree(@LONG(P_STRSID#,0))
ADDSTRING "RĂĽckgabe von LocalFree fĂĽr den String-SID="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "String-SID des "+@STR$(@int(Zähler&+1))+". ACEs="+@STRING$(STRSID#,0)
endif
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
IF @UPPER$(@String$(ACCOUNT_NAME#,0))=@UPPER$(USER$)
IF @AND(@BYTE(ACE#,0)=0,@INSTR("+",Hinzu_entfernen$)>0)
LET VORHANDEN&=@or(VORHANDEN&,1)
endif
IF @AND(@BYTE(ACE#,0)=1,@INSTR("-",Hinzu_entfernen$)>0)
LET VORHANDEN&=@or(VORHANDEN&,2)
endif
endif
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf Domainname="+@String$(Domain#,0)
ADDSTRING "Accessrechte des "+@STR$(@int(Zähler&+1))+". ACEs=$"+@HEX$(@LONG(ACE#,4))
LET ACCESS_MASK&=@LONG(ACE#,4)
IF @or(ACCESS_MASK&,$1F01FF)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_ALL_ACCESS (Vollzugriff)"
LET ACCESS_MASK&=ACCESS_MASK&-$1F01FF
endif
IF @or(ACCESS_MASK&,$1)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)"
LET ACCESS_MASK&=ACCESS_MASK&-$1
endif
IF @or(ACCESS_MASK&,$2)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)"
LET ACCESS_MASK&=ACCESS_MASK&-$2
endif
IF @or(ACCESS_MASK&,$4)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen)"
LET ACCESS_MASK&=ACCESS_MASK&-$4
endif
IF @or(ACCESS_MASK&,$8)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)"
LET ACCESS_MASK&=ACCESS_MASK&-$8
endif
IF @or(ACCESS_MASK&,$10)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)"
LET ACCESS_MASK&=ACCESS_MASK&-$10
endif
IF @or(ACCESS_MASK&,$20)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_EXECUTE (Erlaubt eine Datei auszuführen)"
LET ACCESS_MASK&=ACCESS_MASK&-$20
endif
IF @or(ACCESS_MASK&,$80)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_READ_ATTRIBUTES (Lesen der Fileattribute)"
LET ACCESS_MASK&=ACCESS_MASK&-$80
endif
IF @or(ACCESS_MASK&,$100)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)"
LET ACCESS_MASK&=ACCESS_MASK&-$100
endif
IF @or(ACCESS_MASK&,$00040000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_DAC (Ändern der DACL Einträge)"
LET ACCESS_MASK&=ACCESS_MASK&-$00040000
endif
IF @or(ACCESS_MASK&,$00020000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=READ_CONTROL (Lesen der DACL Einträge und Besitzer)"
LET ACCESS_MASK&=ACCESS_MASK&-$00020000
endif
IF @or(ACCESS_MASK&,$00100000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)"
LET ACCESS_MASK&=ACCESS_MASK&-$00100000
endif
IF @or(ACCESS_MASK&,$40)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=File_Delete_Child (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung)"
LET ACCESS_MASK&=ACCESS_MASK&-$40
endif
IF @or(ACCESS_MASK&,$01000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)"
LET ACCESS_MASK&=ACCESS_MASK&-$01000000
endif
IF @or(ACCESS_MASK&,$10000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_ALL"
LET ACCESS_MASK&=ACCESS_MASK&-$10000000
endif
IF @or(ACCESS_MASK&,$20000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_EXECUTE"
LET ACCESS_MASK&=ACCESS_MASK&-$20000000
endif
IF @or(ACCESS_MASK&,$40000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_WRITE"
LET ACCESS_MASK&=ACCESS_MASK&-$40000000
endif
IF @or(ACCESS_MASK&,$80000000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=GENERIC_READ"
LET ACCESS_MASK&=ACCESS_MASK&-$80000000
endif
IF @or(ACCESS_MASK&,$80000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=WRITE_OWNER (Eigentümer ändern)"
LET ACCESS_MASK&=ACCESS_MASK&-$80000
endif
IF @or(ACCESS_MASK&,$00010000)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=_DELETE (Datei löschen)"
LET ACCESS_MASK&=ACCESS_MASK&-$00010000
endif
IF ACCESS_MASK&>0
ADDSTRING "Nicht berechnete Rechte="+@STR$(ACCESS_MASK&)+" ($"+@HEX$(ACCESS_MASK&)+")"
endif
LET Zähler&=Zähler&+1
Dispose SID2#
Dispose ACE#
wend
Endif
Clear SID_NAME_USE#,ACCOUNT_NAME#,Domain#,SIDa#,System$
Long SIZE_ACCOUNT#,0=1
LONG SIZE_DOMAIN#,0=256
LET Fehler&=@LookupAccountName(@ADDR(SYSTEM$),@addr(USER$),SIDa#,SIZE_ACCOUNT#,DOMAIN#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountName fĂĽr "+User$+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Länge des SIDs="+@STR$(@LONG(SIZE_ACCOUNT#,0))
LET SIZE_ACCOUNT&=@LONG(SIZE_ACCOUNT#,0)
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Long SIZE_ACCOUNT#,0=SIZE_ACCOUNT&
LONG SIZE_DOMAIN#,0=256
Dispose SIDa#
DIM SIDa#,SIZE_ACCOUNT&
Clear SIDa#
LET Fehler&=@LookupAccountName(@ADDR(SYSTEM$),@addr(USER$),SIDa#,SIZE_ACCOUNT#,DOMAIN#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountName fĂĽr "+User$+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Länge des SIDs="+@STR$(@LONG(SIZE_ACCOUNT#,0))
IF VORHANDEN&=0
LET Anzahl_Bytes&=Anzahl_Bytes&+@LONG(SIZE_ACCOUNT#,0)+8 Alle ACEs+SID+ACCESS_MASK+ACE_HEADER
endif
IF @INSTR("0",Hinzu_entfernen$)>0
LET Anzahl_Bytes&=@LONG(SIZE_ACCOUNT#,0)+8+8 SID+ACCESS_MASK+ACE_HEADER+ACL_HEADER
endif
Dispose ACCOUNT_NAME#
Dispose SIZE_ACCOUNT#
Dispose Domain#
Dispose SIZE_DOMAIN#
Dispose SID_NAME_USE#
Dispose P_ACE#
Dispose ACL_INFO#
Endif
ADDSTRING "Bytes fĂĽr ACL="+@STR$(Anzahl_Bytes&)
DIM NEW_ACL1#,Anzahl_Bytes&
LET FEHLER&=@InitializeAcl(NEW_ACL1#,Anzahl_Bytes&,$2)
ADDSTRING "RĂĽckgabe von InitializeAcl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
Clear ACL_PRESENT#,P_ACL#,ACL_D#
Let Fehler&=@GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
ADDSTRING "RĂĽckgabe von GetSecurityDescriptorDacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
IF @LONG(ACL_PRESENT#,0)=1
ADDSTRING "DACL ist vorhanden!"
else
ADDSTRING "DACL ist nicht vorhanden!"
endif
IF @INSTR("-",Hinzu_entfernen$)>0
LET ACE_ZĂ„HLER&=1
else
LET ACE_ZĂ„HLER&=0
endif
IF @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)
DIM ACL_INFO#,12
DIM P_ACE#,4
CLEAR ACL_INFO#,P_ACE#
Let Fehler&=@GetAclInformation(@long(P_ACL#,0),ACL_INFO#,12,2)
ADDSTRING "RĂĽckgabe von GetAclInformation="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Anzahl benutzter Bytes in DACL="+@STR$(@LONG(ACL_INFO#,4))
ADDSTRING "Anzahl freier Bytes in DACL="+@STR$(@LONG(ACL_INFO#,8))
ADDSTRING "ACEs in DACL="+@STR$(@LONG(ACL_INFO#,0))
LET Zähler&=0
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
IF @STR$(@LONG(ACL_INFO#,0))<>0
While Zähler&<@LONG(ACL_INFO#,0)
Clear P_ACE#
Let Fehler&=@GetAce(@long(P_ACL#,0),Zähler&,P_ACE#)
DIM ACE#,4
Clear ACE#
@CopyMemory(ACE#,@LONG(P_ACE#,0),4)
ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))
LET ACE_SIZE&=@Word(ACE#,2)
LET ANZAHL_BYTES&=ANZAHL_BYTES&+ACE_SIZE&
Dispose ACE#
DIM ACE#,ACE_SIZE&
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Clear ACE#
Long SIZE_ACCOUNT#,0=256
LONG SIZE_DOMAIN#,0=256
@CopyMemory(ACE#,@LONG(P_ACE#,0),ACE_SIZE&)
IF @BYTE(ACE#,0)=0
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_ALLOWED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=1
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=ACCESS_DENIED_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=2
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_AUDIT_ACE_TYPE"
ElseIF @BYTE(ACE#,0)=3
ADDSTRING "ACE Typ des "+@STR$(@INT(Zähler&+1))+".ACEs=SYSTEM_ALARM_ACE"
endif
ADDSTRING "Vererbung="+@STR$(@BYTE(ACE#,1))
DIM SID2#,ACE_SIZE&
CLEAR SID2#
@CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
LET Fehler&=@IsValidSid(SID2#)
ADDSTRING "Fehlercode IsValidSid="+@STR$(FEHLER&)
ADDSTRING "Letzter API Fehler="+@STR$(@GetLastError())
LET FEHLER&=@LookupAccountSid(@ADDR(System$),SID2#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
ADDSTRING "RĂĽckgabe von LookupAccountSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgefĂĽhrt"
@SetLastError(0)
LET IO%=%IORESULT
Clear STRSID#
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
ADDSTRING "Accessrechte des "+@STR$(@int(Zähler&+1))+". ACEs=$"+@HEX$(@LONG(ACE#,4))
LET ACCESS_MASK&=@LONG(ACE#,4)
IF @UPPER$(@String$(ACCOUNT_NAME#,0))=@UPPER$(USER$)
IF @BYTE(ACE#,0)=0
IF @INSTR("+",Hinzu_entfernen$)>0
CASE @INSTR("0",Hinzu_entfernen$)=0 : LET FSFlags&=ACCESS_MASK&
ElseIF @INSTR("-",Hinzu_entfernen$)>0
if @INSTR("0",Hinzu_entfernen$)=0
IF @AND(@or(ACCESS_MASK&,$1)=ACCESS_MASK&,@INSTR("FILE_READ_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$1
endif
IF @AND(@or(ACCESS_MASK&,$2)=ACCESS_MASK&,@INSTR("FILE_WRITE_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$2
endif
IF @AND(@or(ACCESS_MASK&,$4)=ACCESS_MASK&,@INSTR("FILE_APPEND_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$4
endif
IF @AND(@or(ACCESS_MASK&,$8)=ACCESS_MASK&,@INSTR("FILE_READ_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$8
endif
IF @AND(@or(ACCESS_MASK&,$10)=ACCESS_MASK&,@INSTR("FILE_WRITE_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$10
endif
IF @AND(@or(ACCESS_MASK&,$20)=ACCESS_MASK&,@INSTR("FILE_EXECUTE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$20
endif
IF @AND(@or(ACCESS_MASK&,$80)=ACCESS_MASK&,@INSTR("FILE_READ_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80
endif
IF @AND(@or(ACCESS_MASK&,$100)=ACCESS_MASK&,@INSTR("FILE_WRITE_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$100
endif
IF @AND(@or(ACCESS_MASK&,$00040000)=ACCESS_MASK&,@INSTR("WRITE_DAC",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00040000
endif
IF @AND(@or(ACCESS_MASK&,$00020000)=ACCESS_MASK&,@INSTR("READ_CONTROL",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00020000
endif
IF @AND(@or(ACCESS_MASK&,$00100000)=ACCESS_MASK&,@INSTR("SYNCHRONIZE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00100000
endif
IF @AND(@or(ACCESS_MASK&,$40)=ACCESS_MASK&,@INSTR("FILE_DELETE_CHILD",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$40
endif
IF @AND(@or(ACCESS_MASK&,$01000000)=ACCESS_MASK&,@INSTR("ACCESS_SYSTEM_SECURITY",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$01000000
endif
IF @AND(@or(ACCESS_MASK&,$80000)=ACCESS_MASK&,@INSTR("WRITE_OWNER",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80000
endif
IF @AND(@or(ACCESS_MASK&,$00010000)=ACCESS_MASK&,@INSTR("F_DELETE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00010000
endif
ADDSTRING "Bei ALLOWED_ACE zu addierende Rechte=$"+@HEX$(ACCESS_MASK&)
LONG ACE#,4=ACCESS_MASK&
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
ENDIF
endif
Elseif @BYTE(ACE#,0)=1
IF @INSTR("+",Hinzu_entfernen$)>0
IF @INSTR("0",Hinzu_entfernen$)=0
IF @AND(@or(ACCESS_MASK&,$1)=ACCESS_MASK&,@INSTR("FILE_READ_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$1
endif
IF @AND(@or(ACCESS_MASK&,$2)=ACCESS_MASK&,@INSTR("FILE_WRITE_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$2
endif
IF @AND(@or(ACCESS_MASK&,$4)=ACCESS_MASK&,@INSTR("FILE_APPEND_DATA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$4
endif
IF @AND(@or(ACCESS_MASK&,$8)=ACCESS_MASK&,@INSTR("FILE_READ_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$8
endif
IF @AND(@or(ACCESS_MASK&,$10)=ACCESS_MASK&,@INSTR("FILE_WRITE_EA",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$10
endif
IF @AND(@or(ACCESS_MASK&,$20)=ACCESS_MASK&,@INSTR("FILE_EXECUTE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$20
endif
IF @AND(@or(ACCESS_MASK&,$80)=ACCESS_MASK&,@INSTR("FILE_READ_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80
endif
IF @AND(@or(ACCESS_MASK&,$100)=ACCESS_MASK&,@INSTR("FILE_WRITE_ATTRIBUTES",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$100
endif
IF @AND(@or(ACCESS_MASK&,$00040000)=ACCESS_MASK&,@INSTR("WRITE_DAC",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00040000
endif
IF @AND(@or(ACCESS_MASK&,$00020000)=ACCESS_MASK&,@INSTR("READ_CONTROL",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00020000
endif
IF @AND(@or(ACCESS_MASK&,$00100000)=ACCESS_MASK&,@INSTR("SYNCHRONIZE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00100000
endif
IF @AND(@or(ACCESS_MASK&,$40)=ACCESS_MASK&,@INSTR("FILE_DELETE_CHILD",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$40
endif
IF @AND(@or(ACCESS_MASK&,$01000000)=ACCESS_MASK&,@INSTR("ACCESS_SYSTEM_SECURITY",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$01000000
endif
IF @AND(@or(ACCESS_MASK&,$80000)=ACCESS_MASK&,@INSTR("WRITE_OWNER",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$80000
endif
IF @AND(@or(ACCESS_MASK&,$00010000)=ACCESS_MASK&,@INSTR("F_DELETE",@UPPER$(FSFLAGS$))>0)
LET ACCESS_MASK&=ACCESS_MASK&-$00010000
endif
ADDSTRING "Bei DENIED_ACE zu addierende Rechte=$"+@HEX$(ACCESS_MASK&)
LONG ACE#,4=ACCESS_MASK&
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
endif
ElseIF @INSTR("-",Hinzu_entfernen$)>0
IF @INSTR("0",Hinzu_entfernen$)=0
LONG ACE#,4=ACCESS_MASK&
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "Bei DENIED_ACE zu addierende Rechte=$"+@HEX$(ACCESS_MASK&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
endif
endif
endif
else
IF @INSTR("0",Hinzu_entfernen$)=0
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,ACE_SIZE&)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET ACE_ZĂ„HLER&=ACE_ZĂ„HLER&+1
endif
endif
LET Zähler&=Zähler&+1
Dispose SID2#
Dispose ACE#
wend
Endif
DIM ACE#,SIZE_ACCOUNT&+8
IF @INSTR("+",Hinzu_entfernen$)>0
Byte ACE#,0=0
ADDSTRING "Bei ALLOWED_ACE..."
ELSEIF @INSTR("-",Hinzu_entfernen$)>0
Byte ACE#,0=1
ADDSTRING "Bei DENIED_ACE..."
endif
IF @INSTR("FILE_READ_DATA",@UPPER$(FSFlags$))>0
LET FSFlags&=@OR(FSFLAGS&,$1)
endif
IF @INSTR("FILE_WRITE_DATA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$2)
endif
IF @INSTR("FILE_APPEND_DATA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$4)
endif
IF @INSTR("FILE_READ_EA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$8)
endif
IF @INSTR("FILE_WRITE_EA",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$10)
endif
IF @INSTR("FILE_EXECUTE",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$20)
endif
IF @INSTR("FILE_DELETE_CHILD",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$40)
endif
IF @INSTR("FILE_READ_ATTRIBUTES",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$80)
endif
IF @INSTR("FILE_WRITE_ATTRIBUTES",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$100)
endif
IF @INSTR("F_DELETE",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$10000)
endif
IF @INSTR("READ_CONTROL",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$20000)
endif
IF @INSTR("WRITE_DAC",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$40000)
endif
IF @INSTR("SYNCHRONIZE",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$100000)
endif
IF @INSTR("ACCESS_SYSTEM_SECURITY",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$1000000)
endif
IF @INSTR("WRITE_OWNER",@UPPER$(FSFLAGS$))>0
LET FSFlags&=@OR(FSFLAGS&,$80000)
endif
Byte ACE#,1=0
WORD ACE#,2=SIZE_ACCOUNT&+8
LONG ACE#,4=FSFlags&
LET ZĂ„HLER&=0
ADDSTRING "...zu addierende Rechte=$"+@HEX$(FSFlags&)
WHILE ZĂ„HLER&<>SIZE_ACCOUNT&
BYTE ACE#,8+Zähler&=@BYTE(SIDa#,Zähler&)
LET ZĂ„HLER&=ZĂ„HLER&+1
WEND
IF @INSTR("-",Hinzu_entfernen$)>0
LET ACE_ZĂ„HLER&=0
endif
LET FEHLER&=@AddAce(NEW_ACL1#,$2,ACE_ZĂ„HLER&,ACE#,SIZE_ACCOUNT&+8)
ADDSTRING "RĂĽckgabe von AddAce an Punkt "+@STR$(ACE_ZĂ„HLER&)+"="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(NEW_ACL1#)
ADDSTRING "RĂĽckgabe von IsValidAcl fĂĽr den selbsterzeugten DACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET TEST&=NEW_ACL1#
LET FEHLER&=@InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR#,$1)
ADDSTRING "RĂĽckgabe von InitializeSecurityDescriptor="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET FEHLER&=@SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR#,1,NEW_ACL1#,0)
ADDSTRING "RĂĽckgabe von SetSecurityDescriptorDacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET FEHLER&=@SetFileSecurity(@ADDR(FileName$),$4,PSECURITY_DESCRIPTOR#)
ADDSTRING "RĂĽckgabe von SetFileSecurity="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
DISPOSE ACE#
Dispose ACCOUNT_NAME#
Dispose SIZE_ACCOUNT#
Dispose Domain#
Dispose SIZE_DOMAIN#
Dispose SID_NAME_USE#
Dispose P_ACE#
Dispose ACL_INFO#
endif
Dispose PSECURITY_DESCRIPTOR#
Dispose Needed#
Dispose NEW_ACL1#
Dispose ACL_PRESENT#
Dispose P_ACL#
Dispose ACL_D#
Dispose SIDa#
else
ADDSTRING "Zugriff ist nicht einschränkbar"
@Messagebox("Der Zugriff auf die angegebene Datei ist nicht einschränkbar!","Zugriff nicht einschränkbar!",16)
endif
Dispose Label#
Dispose LFlags#
DISPOSE DAT#
Dispose STRSID#
Dispose P_STRSID#
else
CASE FILENAME$="" : @Messagebox("DIe Prozedur benötigt einen Dateinamen!","Fehler beim 1.Parametern",16)
CASE USER$="" : @Messagebox("DIe Prozedur benötigt einen User- oder Gruppennamen!","Fehler beim 2.Parametern",16)
CASE @AND(@INSTR("+",Hinzu_entfernen$)=0,@INSTR("-",Hinzu_entfernen$)=0) : @Messagebox("DIe Prozedur benötigt ein + oder ein - als dritten Parameter!","Fehler beim 3.Parametern",16)
endif
Endproc
Declare Datei$
LET DATEI$=@LoadFile$("Datei auswählen","*.*")
Set_ACE_IN_DACL Datei$,"Andreas","+0","SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE"
Get_Group_Name "Jeder"
Set_ACE_IN_DACL Datei$,@$(0),"+","SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE"
Get_Group_Name "Jed t;
Set_ACE_IN_DACL Expediente$,@$ (0), "-", "F_DELETE"
Get_Group_Name "Administratoren"
Set_ACE_IN_DACL Expediente$,@$ (0), "+", "FILE_DELETE_CHILD,READ_CONTROL,ACCESS_SYSTEM_SECURITY,WRITE_OWNER,WRITE_DAC,F_DELETE,SYNCHRONIZE,FILE_WRITE_EA,FILE_READ_EA,FILE_READ_DATA,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_EXECUTE,FILE_READ_ATTRIBUTES,FILE_WRITE_ATTRIBUTES,F_DELETE"
@ Editbox("API Rückgaben", 1)
|
| | | | |
| | | [quote:8354fe1111]Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewählte Datei=Cokumente y EinstellungenPackard BellDesktopunbenannt.bmp Gruppenname/Username=Jeder Zu Addierende Rechte=... SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=164 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=88 Anzahl freier Bytes en DACL=0 ACEs en DACL=3 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE Bezogen en SID=Packard Bell 1. ACE Bezogen en Domainname=C4 Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-5-18 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 3. ACEs=S-1-5-32-544 3. ACE Bezogen en SID=Administratoren 3. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de LookupAccountName para Jeder=0 Letzter API-Fehler=122 Longitud des SIDs=12 Rückgabe de LookupAccountName para Jeder=1 Letzter API-Fehler=997 Longitud des SIDs=12 Bytes para ACL=108 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=88 Anzahl freier Bytes en DACL=0 ACEs en DACL=3 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=997 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Packard Bell Accessrechte des 1. ACEs=$1F01FF Rückgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM Accessrechte des 2. ACEs=$1F01FF Rückgabe de AddAce a Punkt 1=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Administratoren Accessrechte des 3. ACEs=$1F01FF Rückgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$1101BF Rückgabe de AddAce a Punkt 3=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Jeder ****PROZEDUR comenzó**** Gewählte Datei=Cokumente y EinstellungenPackard BellDesktopunbenannt.bmp Gruppenname/Username=Jeder Zu Addierende Rechte=... F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=184 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=108 Anzahl freier Bytes en DACL=0 ACEs en DACL=4 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE Bezogen en SID=Packard Bell 1. ACE Bezogen en Domainname=C4 Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-5-18 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 3. ACEs=S-1-5-32-544 3. ACE Bezogen en SID=Administratoren 3. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 4.ACEs=20 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 4. ACEs=S-1-1-0 4. ACE Bezogen en SID=Jeder 4. ACE Bezogen en Domainname= Accessrechte des 4. ACEs=$1101BF Recht en el 4. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 4. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 4. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 4. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 4. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 4. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 4. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 4. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 4. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Recht en el 4. ACE=_DELETE (Expediente löschen) Rückgabe de LookupAccountName para Jeder=0 Letzter API-Fehler=122 Longitud des SIDs=12 Rückgabe de LookupAccountName para Jeder=1 Letzter API-Fehler=997 Longitud des SIDs=12 Bytes para ACL=128 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=108 Anzahl freier Bytes en DACL=0 ACEs en DACL=4 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=997 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Packard Bell Accessrechte des 1. ACEs=$1F01FF Rückgabe de AddAce a Punkt 1=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM Accessrechte des 2. ACEs=$1F01FF Rückgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Administratoren Accessrechte des 3. ACEs=$1F01FF Rückgabe de AddAce a Punkt 3=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 4.ACEs=20 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 4. ACE Bezogen en SID=Jeder Accessrechte des 4. ACEs=$1101BF En ALLOWED_ACE a addierende Rechte=$1001BF Rückgabe de AddAce a Punkt 4=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En DENIED_ACE... ...a addierende Rechte=$10000 Rückgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Fehlercode LookupAccountSid=1 Letzter API Fehler=997 Administratoren ****PROZEDUR comenzó**** Gewählte Datei=Cokumente y EinstellungenPackard BellDesktopunbenannt.bmp Gruppenname/Username=Administratoren Zu Addierende Rechte=... FILE_DELETE_CHILD,READ_CONTROL,ACCESS_SYSTEM_SECURITY,WRITE_OWNER,WRITE_DAC,F_DELETE,SYNCHRONIZE,FILE_WRITE_EA,FILE_READ_EA,FILE_READ_DATA,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_EXECUTE,FILE_READ_ATTRIBUTES,FILE_WRITE_ATTRIBUTES,F_DELETE Letzter API-Fehler=997 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS Zugriff es einschränkbar Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=204 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 Anzahl benutzter Bytes en DACL=128 Anzahl freier Bytes en DACL=0 ACEs en DACL=5 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 1. ACEs=S-1-1-0 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$10000 Recht en el 1. ACE=_DELETE (Expediente löschen) Größe des 2.ACEs=36 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 2. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 2. ACE Bezogen en SID=Packard Bell 2. ACE Bezogen en Domainname=C4 Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=20 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 3. ACEs=S-1-5-18 3. ACE Bezogen en SID=SYSTEM 3. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 4. ACEs=S-1-5-32-544 4. ACE Bezogen en SID=Administratoren 4. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 4. ACEs=$1F01FF Recht en el 4. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 5.ACEs=20 ACE Typ des 5.ACEs=ACCESS_ALLOWED_ACE_TYPE Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 String-SID des 5. ACEs=S-1-1-0 5. ACE Bezogen en SID=Jeder 5. ACE Bezogen en Domainname= Accessrechte des 5. ACEs=$1001BF Recht en el 5. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 5. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 5. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 5. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 5. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 5. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 5. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 5. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 5. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Rückgabe de LookupAccountName para Administratoren=0 Letzter API-Fehler=122 Longitud des SIDs=16 Rückgabe de LookupAccountName para Administratoren=1 Letzter API-Fehler=997 Longitud des SIDs=16 Bytes para ACL=128 Rückgabe de InitializeAcl=1 Letzter API-Fehler=997 Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=997 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=997 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=997 Anzahl benutzter Bytes en DACL=128 Anzahl freier Bytes en DACL=0 ACEs en DACL=5 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=997 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder Accessrechte des 1. ACEs=$10000 Rückgabe de AddAce a Punkt 0=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 2.ACEs=36 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Packard Bell Accessrechte des 2. ACEs=$1F01FF Rückgabe de AddAce a Punkt 1=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 3.ACEs=20 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=SYSTEM Accessrechte des 3. ACEs=$1F01FF Rückgabe de AddAce a Punkt 2=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Größe des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 4. ACE Bezogen en SID=Administratoren Accessrechte des 4. ACEs=$1F01FF Größe des 5.ACEs=20 ACE Typ des 5.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Fehlercode IsValidSid=1 Letzter API Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 5. ACE Bezogen en SID=Jeder Accessrechte des 5. ACEs=$1001BF Rückgabe de AddAce a Punkt 3=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 En ALLOWED_ACE... ...a addierende Rechte=$11F01FF Rückgabe de AddAce a Punkt 4=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el selbsterzeugten DACL=1 Letzter API-Fehler=0 Rückgabe de InitializeSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de SetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de SetFileSecurity=1 Letzter API-Fehler=0[/quote:8354fe1111] Lol ik voluntad sí nüscht sagen - pero si alguien el Gefühl ha esta Página braucht länger para Mostrar... kein Wunder - es sí ahora ya 2909.21 KB groß.
Salve. |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 4 subscriber: |