Forum | | | | - Page 1 - |
| | Hello Profaner...
once more what to that testing NT/2000/XP: CompileMarkSeparationDEF @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)
becomes everywhere one String zurückgegeben? How see it with US-Systemen from? |
| | | | |
| | | | | - Page 1 - |
| Rolf Koch | Hi AH, [quote:cba7059298] Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** chosen Datei=C:pressure.txt Gruppenname/Username=Jeder To Addierende Rechte=F_DELETE last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1110000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=188 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=112 amount suitor Bytes in DACL=0 ACEs in DACL=4 Size the 1.ACEs=24 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-32-544 1. ACE related on SID=Administratoren 1. ACE related on Domainname=VORDEFINIERT Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-5-18 2. ACE related on SID=SYSTEM 2. ACE related on Domainname=NT-AUTORITÄT Accessrechte the 2. ACEs=$1F01FF right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 3.ACEs=36 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 3. ACEs=S-1-5-21-1708537768-1644491937-839522115-1003 3. ACE related on SID=Rolf 3. ACE related on Domainname=ROCKNROLF Accessrechte the 3. ACEs=$1F01FF right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 4.ACEs=24 ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 4. ACEs=S-1-5-32-545 4. ACE related on SID=Benutzer 4. ACE related on Domainname=VORDEFINIERT Accessrechte the 4. ACEs=$1200A9 right in the 4. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 4. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 4. ACE=FILE_EXECUTE (allows a File to execute) right in the 4. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 4. ACE=READ_CONTROL (reading the DACL Entries and owner) right in the 4. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) Return of LookupAccountName for Jeder=0 last API-Fehler=122 length the SIDs=12 Return of LookupAccountName for Jeder=1 last API-Fehler=997 length the SIDs=12 Bytes for ACL=28 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=112 amount suitor Bytes in DACL=0 ACEs in DACL=4 Size the 1.ACEs=24 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Administratoren Accessrechte the 1. ACEs=$1F01FF Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=SYSTEM Accessrechte the 2. ACEs=$1F01FF Size the 3.ACEs=36 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=0 last API-Fehler=1332 Reset the API-Fehlers becomes implemented 3. ACE related on SID= Accessrechte the 3. ACEs=$1F01FF Size the 4.ACEs=24 ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 4. ACE related on SID=Benutzer Accessrechte the 4. ACEs=$1200A9 with DENIED_ACE... ...To addierende Rechte=$10000 Return of AddAce=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** chosen Datei=C:pressure.txt Gruppenname/Username=Jeder To 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 last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1110000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=104 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=28 amount suitor Bytes in DACL=0 ACEs in DACL=1 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-1-0 1. ACE related on SID=Jeder 1. ACE related on Domainname= Accessrechte the 1. ACEs=$10000 right in the 1. ACE=_DELETE (File delete) Return of LookupAccountName for Jeder=0 last API-Fehler=122 length the SIDs=12 Return of LookupAccountName for Jeder=1 last API-Fehler=997 length the SIDs=12 Bytes for ACL=48 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=28 amount suitor Bytes in DACL=0 ACEs in DACL=1 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Jeder Accessrechte the 1. ACEs=$10000 with DENIED_ACE To addierende Rechte=$0 Return of AddAce=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$1101BF Return of AddAce=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 Administratoren ****PROZEDUR launched**** chosen Datei=C:pressure.txt Gruppenname/Username=Administratoren To 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 last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1110000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=124 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=48 amount suitor Bytes in DACL=0 ACEs in DACL=2 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-1-0 1. ACE related on SID=Jeder 1. ACE related on Domainname= Accessrechte the 1. ACEs=$0 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-1-0 2. ACE related on SID=Jeder 2. ACE related on Domainname= Accessrechte the 2. ACEs=$1101BF right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 2. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 2. ACE=FILE_APPEND_DATA (allows data anzuhängen) right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 2. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 2. ACE=FILE_EXECUTE (allows a File to execute) right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 2. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 2. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) right in the 2. ACE=_DELETE (File delete) Return of LookupAccountName for Administratoren=0 last API-Fehler=122 length the SIDs=16 Return of LookupAccountName for Administratoren=1 last API-Fehler=997 length the SIDs=16 Bytes for ACL=72 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=48 amount suitor Bytes in DACL=0 ACEs in DACL=2 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Jeder Accessrechte the 1. ACEs=$0 Return of AddAce=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=Jeder Accessrechte the 2. ACEs=$1101BF Return of AddAce=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$11F01FF Return of AddAce=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 [/quote:cba7059298] Rolf |
| | | | |
| | | Hello Rolf...
sees on the first look integrally well from. Hauts there or Gibts Problems? is correct with the whom Values in the Explorer uberein? |
| | | | |
| | Rolf Koch | so How I it on the first look see, is everything OK. will be but certainly weitertesten. go same but first time on one IN EXTREMO Konzert here in Koblenz *freu*
Rolf |
| | | | |
| | | Have at play with the PROC another couple Error discover. CompileMarkSeparationDEF @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 File$,@$ (0), "-", "F_DELETE"
Get_Group_Name "Administratoren"
Set_ACE_IN_DACL File$,@$ (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]Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** Gewaehlte Datei=Cokumente and EinstellungenPackard BellDesktopwischenablage01.bmp Gruppenname/Username=Jeder To 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 last API-Fehler=997 Raeckgabe of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschraenkbar Raeckgabe of GetFileSecurity=0 last API-Fehler=122 Erforderliche Laenge the Security Descriptor=164 Raeckgabe of GetFileSecurity=1 last API-Fehler=0 Raeckgabe of IsValidSecurityDescriptor=1 last API-Fehler=0 Raeckgabe of GetSecurityDescriptorDacl=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom DACL=1 last API-Fehler=0 DACL is present! Raeckgabe of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=88 amount suitor Bytes in DACL=0 ACEs in DACL=3 Graeße the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE related on SID=Packard Bell 1. ACE related on Domainname=C4 Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Graeße the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-5-18 2. ACE related on SID=SYSTEM 2. ACE related on Domainname=NT-AUTORITÄT Accessrechte the 2. ACEs=$1F01FF right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Graeße the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 3. ACEs=S-1-5-32-544 3. ACE related on SID=Administratoren 3. ACE related on Domainname=VORDEFINIERT Accessrechte the 3. ACEs=$1F01FF right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Raeckgabe of LookupAccountName faer Jeder=0 last API-Fehler=122 Laenge the SIDs=12 Raeckgabe of LookupAccountName faer Jeder=1 last API-Fehler=997 Laenge the SIDs=12 Bytes faer ACL=108 Raeckgabe of InitializeAcl=1 last API-Fehler=997 Raeckgabe of GetSecurityDescriptorDacl=1 last API-Fehler=997 Raeckgabe of IsValidAcl faer whom DACL=1 last API-Fehler=997 DACL is present! Raeckgabe of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=88 amount suitor Bytes in DACL=0 ACEs in DACL=3 Graeße the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=997 Raeckgabe of LookupAccountSid=0 last API-Fehler=1332 Reset the API-Fehlers becomes durchgefaehrt 1. ACE related on SID= Accessrechte the 1. ACEs=$1F01FF Raeckgabe of AddAce on point 0=0 last API-Fehler=87 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=0 last API-Fehler=87 Graeße the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=87 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt 2. ACE related on SID=SYSTEM Accessrechte the 2. ACEs=$1F01FF Raeckgabe of AddAce on point 1=0 last API-Fehler=87 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=0 last API-Fehler=87 Graeße the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=87 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt 3. ACE related on SID=Administratoren Accessrechte the 3. ACEs=$1F01FF Raeckgabe of AddAce on point 2=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$1101BF Raeckgabe of AddAce on point 3=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 Raeckgabe of InitializeSecurityDescriptor=1 last API-Fehler=0 Raeckgabe of SetSecurityDescriptorDacl=1 last API-Fehler=0 Raeckgabe of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** Gewaehlte Datei=Cokumente and EinstellungenPackard BellDesktopwischenablage01.bmp Gruppenname/Username=Jeder To Addierende Rechte=... F_DELETE last API-Fehler=997 Raeckgabe of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschraenkbar Raeckgabe of GetFileSecurity=0 last API-Fehler=122 Erforderliche Laenge the Security Descriptor=184 Raeckgabe of GetFileSecurity=1 last API-Fehler=0 Raeckgabe of IsValidSecurityDescriptor=1 last API-Fehler=0 Raeckgabe of GetSecurityDescriptorDacl=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom DACL=1 last API-Fehler=0 DACL is present! Raeckgabe of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=52 amount suitor Bytes in DACL=56 ACEs in DACL=2 Graeße the 1.ACEs=24 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-32-544 1. ACE related on SID=Administratoren 1. ACE related on Domainname=VORDEFINIERT Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Graeße the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-1-0 2. ACE related on SID=Jeder 2. ACE related on Domainname= Accessrechte the 2. ACEs=$1101BF right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 2. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 2. ACE=FILE_APPEND_DATA (allows data anzuhaengen) right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 2. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 2. ACE=FILE_EXECUTE (allows a File auszufaehren) right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 2. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 2. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) right in the 2. ACE=_DELETE (File laeschen) Raeckgabe of LookupAccountName faer Jeder=0 last API-Fehler=122 Laenge the SIDs=12 Raeckgabe of LookupAccountName faer Jeder=1 last API-Fehler=997 Laenge the SIDs=12 Bytes faer ACL=72 Raeckgabe of InitializeAcl=1 last API-Fehler=997 Raeckgabe of GetSecurityDescriptorDacl=1 last API-Fehler=997 Raeckgabe of IsValidAcl faer whom DACL=1 last API-Fehler=997 DACL is present! Raeckgabe of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=52 amount suitor Bytes in DACL=56 ACEs in DACL=2 Graeße the 1.ACEs=24 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=997 Raeckgabe of LookupAccountSid=0 last API-Fehler=1332 Reset the API-Fehlers becomes durchgefaehrt 1. ACE related on SID= Accessrechte the 1. ACEs=$1F01FF Raeckgabe of AddAce on point 1=0 last API-Fehler=87 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=0 last API-Fehler=87 Graeße the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=87 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt 2. ACE related on SID=Jeder Accessrechte the 2. ACEs=$1101BF with ALLOWED_ACE To addierende Rechte=$1001BF Raeckgabe of AddAce on point 2=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 with DENIED_ACE... ...To addierende Rechte=$10000 Raeckgabe of AddAce on point 0=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 Raeckgabe of InitializeSecurityDescriptor=1 last API-Fehler=0 Raeckgabe of SetSecurityDescriptorDacl=1 last API-Fehler=0 Raeckgabe of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 Administratoren ****PROZEDUR launched**** Gewaehlte Datei=Cokumente and EinstellungenPackard BellDesktopwischenablage01.bmp Gruppenname/Username=Administratoren To 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 last API-Fehler=997 Raeckgabe of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschraenkbar Raeckgabe of GetFileSecurity=0 last API-Fehler=122 Erforderliche Laenge the Security Descriptor=148 Raeckgabe of GetFileSecurity=1 last API-Fehler=0 Raeckgabe of IsValidSecurityDescriptor=1 last API-Fehler=0 Raeckgabe of GetSecurityDescriptorDacl=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom DACL=1 last API-Fehler=0 DACL is present! Raeckgabe of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=48 amount suitor Bytes in DACL=24 ACEs in DACL=2 Graeße the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-1-0 1. ACE related on SID=Jeder 1. ACE related on Domainname= Accessrechte the 1. ACEs=$10000 right in the 1. ACE=_DELETE (File laeschen) Graeße the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt Raeckgabe of ConvertSidToStringSid=1 last API-Fehler=0 Raeckgabe of LocalFree faer whom String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-1-0 2. ACE related on SID=Jeder 2. ACE related on Domainname= Accessrechte the 2. ACEs=$1001BF right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 2. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 2. ACE=FILE_APPEND_DATA (allows data anzuhaengen) right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 2. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 2. ACE=FILE_EXECUTE (allows a File auszufaehren) right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 2. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 2. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) Raeckgabe of LookupAccountName faer Administratoren=0 last API-Fehler=122 Laenge the SIDs=16 Raeckgabe of LookupAccountName faer Administratoren=1 last API-Fehler=997 Laenge the SIDs=16 Bytes faer ACL=72 Raeckgabe of InitializeAcl=1 last API-Fehler=997 Raeckgabe of GetSecurityDescriptorDacl=1 last API-Fehler=997 Raeckgabe of IsValidAcl faer whom DACL=1 last API-Fehler=997 DACL is present! Raeckgabe of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=48 amount suitor Bytes in DACL=24 ACEs in DACL=2 Graeße the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=997 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt 1. ACE related on SID=Jeder Accessrechte the 1. ACEs=$10000 Raeckgabe of AddAce on point 0=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 Graeße the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=0 Raeckgabe of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes durchgefaehrt 2. ACE related on SID=Jeder Accessrechte the 2. ACEs=$1001BF Raeckgabe of AddAce on point 1=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$11F01FF Raeckgabe of AddAce on point 2=1 last API-Fehler=0 Raeckgabe of IsValidAcl faer whom selbsterzeugten DACL=1 last API-Fehler=0 Raeckgabe of InitializeSecurityDescriptor=1 last API-Fehler=0 Raeckgabe of SetSecurityDescriptorDacl=1 last API-Fehler=0 Raeckgabe of SetFileSecurity=1 last API-Fehler=0[/quote:3d16bd5b50]salvo. |
| | | | |
| | | Hello IF...
Füge the File please times over the WindowsExplorer 2 further ACLs hinzu. as driien appeal füge then time your Usernamen one and let The filled rights give (How with Andreas). Starte still once The procedure... If you then The ACLS in the windows Explorer viewing - get tappt im dunkeln correctly. staid??? |
| | | | |
| | | | - Page 2 - |
| | | the have You me already X-time gebeten. I can nothing settle - still not. me missing the besagte DLG. god white Why - be UpToDate.
on the XPPro komm I strain net ran. Sorry.
salvo. |
| | | | |
| | | Hello IF...
alas you were the . Gibts whom under XPHome not? |
| | | | |
| | | over again @IF...
The 1332 Error LookupAccountName power me yet something care, I thought, whom had I eliminating. have you got evtl. The previous Version too tested? if so, Please once more testing. |
| | | | |
| | | here the Result the vorletzten Sources from you:[quote:6bcedcfeac]Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** chosen Datei=Cokumente and EinstellungenPackard BellDesktopzeichen.jpg Gruppenname/Username=Jeder To 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 last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=164 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=88 amount suitor Bytes in DACL=0 ACEs in DACL=3 Size the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE related on SID=Packard Bell 1. ACE related on Domainname=C4 Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-5-18 2. ACE related on SID=SYSTEM 2. ACE related on Domainname=NT-AUTORITÄT Accessrechte the 2. ACEs=$1F01FF right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 3. ACEs=S-1-5-32-544 3. ACE related on SID=Administratoren 3. ACE related on Domainname=VORDEFINIERT Accessrechte the 3. ACEs=$1F01FF right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Return of LookupAccountName for Jeder=0 last API-Fehler=122 length the SIDs=12 Return of LookupAccountName for Jeder=1 last API-Fehler=997 length the SIDs=12 Bytes for ACL=108 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=88 amount suitor Bytes in DACL=0 ACEs in DACL=3 Size the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=997 Return of LookupAccountSid=0 last API-Fehler=1332 Reset the API-Fehlers becomes implemented 1. ACE related on SID= Accessrechte the 1. ACEs=$1F01FF Return of AddAce on point 0=0 last API-Fehler=87 Return of IsValidAcl for selbsterzeugten DACL=0 last API-Fehler=87 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=87 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=SYSTEM Accessrechte the 2. ACEs=$1F01FF Return of AddAce on point 1=0 last API-Fehler=87 Return of IsValidAcl for selbsterzeugten DACL=0 last API-Fehler=87 Size the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=87 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 3. ACE related on SID=Administratoren Accessrechte the 3. ACEs=$1F01FF Return of AddAce on point 2=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$1101BF Return of AddAce on point 3=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** chosen Datei=Cokumente and EinstellungenPackard BellDesktopzeichen.jpg Gruppenname/Username=Jeder To Addierende Rechte=... F_DELETE last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=184 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=52 amount suitor Bytes in DACL=56 ACEs in DACL=2 Size the 1.ACEs=24 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-32-544 1. ACE related on SID=Administratoren 1. ACE related on Domainname=VORDEFINIERT Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-1-0 2. ACE related on SID=Jeder 2. ACE related on Domainname= Accessrechte the 2. ACEs=$1101BF right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 2. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 2. ACE=FILE_APPEND_DATA (allows data anzuhängen) right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 2. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 2. ACE=FILE_EXECUTE (allows a File to execute) right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 2. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 2. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) right in the 2. ACE=_DELETE (File delete) Return of LookupAccountName for Jeder=0 last API-Fehler=122 length the SIDs=12 Return of LookupAccountName for Jeder=1 last API-Fehler=997 length the SIDs=12 Bytes for ACL=72 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=52 amount suitor Bytes in DACL=56 ACEs in DACL=2 Size the 1.ACEs=24 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=997 Return of LookupAccountSid=0 last API-Fehler=1332 Reset the API-Fehlers becomes implemented 1. ACE related on SID= Accessrechte the 1. ACEs=$1F01FF Return of AddAce on point 1=0 last API-Fehler=87 Return of IsValidAcl for selbsterzeugten DACL=0 last API-Fehler=87 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=87 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=Jeder Accessrechte the 2. ACEs=$1101BF with ALLOWED_ACE To addierende Rechte=$1001BF Return of AddAce on point 2=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with DENIED_ACE... ...To addierende Rechte=$10000 Return of AddAce on point 0=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 Administratoren ****PROZEDUR launched**** chosen Datei=Cokumente and EinstellungenPackard BellDesktopzeichen.jpg Gruppenname/Username=Administratoren To 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 last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=148 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=48 amount suitor Bytes in DACL=24 ACEs in DACL=2 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-1-0 1. ACE related on SID=Jeder 1. ACE related on Domainname= Accessrechte the 1. ACEs=$10000 right in the 1. ACE=_DELETE (File delete) Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-1-0 2. ACE related on SID=Jeder 2. ACE related on Domainname= Accessrechte the 2. ACEs=$1001BF right in the 2. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 2. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 2. ACE=FILE_APPEND_DATA (allows data anzuhängen) right in the 2. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 2. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 2. ACE=FILE_EXECUTE (allows a File to execute) right in the 2. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 2. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 2. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) Return of LookupAccountName for Administratoren=0 last API-Fehler=122 length the SIDs=16 Return of LookupAccountName for Administratoren=1 last API-Fehler=997 length the SIDs=16 Bytes for ACL=72 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=48 amount suitor Bytes in DACL=24 ACEs in DACL=2 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=997 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Jeder Accessrechte the 1. ACEs=$10000 Return of AddAce on point 0=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=Jeder Accessrechte the 2. ACEs=$1001BF Return of AddAce on point 1=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$11F01FF Return of AddAce on point 2=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0[/quote:6bcedcfeac]the Result the last Sources from you is the previous.
salvo. |
| | | | |
| | | best Thanks! Have whom Error. so runs (hopefully) tadellos. CompileMarkSeparationDEF @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 File$,@$ (0), "-", "F_DELETE"
Get_Group_Name "Administratoren"
Set_ACE_IN_DACL File$,@$ (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]Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** chosen Datei=Cokumente and EinstellungenPackard BellDesktopunbenannt.bmp Gruppenname/Username=Jeder To 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 last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=164 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=88 amount suitor Bytes in DACL=0 ACEs in DACL=3 Size the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE related on SID=Packard Bell 1. ACE related on Domainname=C4 Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-5-18 2. ACE related on SID=SYSTEM 2. ACE related on Domainname=NT-AUTORITÄT Accessrechte the 2. ACEs=$1F01FF right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 3. ACEs=S-1-5-32-544 3. ACE related on SID=Administratoren 3. ACE related on Domainname=VORDEFINIERT Accessrechte the 3. ACEs=$1F01FF right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Return of LookupAccountName for Jeder=0 last API-Fehler=122 length the SIDs=12 Return of LookupAccountName for Jeder=1 last API-Fehler=997 length the SIDs=12 Bytes for ACL=108 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=88 amount suitor Bytes in DACL=0 ACEs in DACL=3 Size the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=997 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Packard Bell Accessrechte the 1. ACEs=$1F01FF Return of AddAce on point 0=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=SYSTEM Accessrechte the 2. ACEs=$1F01FF Return of AddAce on point 1=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 3. ACE related on SID=Administratoren Accessrechte the 3. ACEs=$1F01FF Return of AddAce on point 2=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$1101BF Return of AddAce on point 3=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 eachone ****PROZEDUR launched**** chosen Datei=Cokumente and EinstellungenPackard BellDesktopunbenannt.bmp Gruppenname/Username=Jeder To Addierende Rechte=... F_DELETE last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=184 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=108 amount suitor Bytes in DACL=0 ACEs in DACL=4 Size the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 1. ACE related on SID=Packard Bell 1. ACE related on Domainname=C4 Accessrechte the 1. ACEs=$1F01FF right in the 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-5-18 2. ACE related on SID=SYSTEM 2. ACE related on Domainname=NT-AUTORITÄT Accessrechte the 2. ACEs=$1F01FF right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 3. ACEs=S-1-5-32-544 3. ACE related on SID=Administratoren 3. ACE related on Domainname=VORDEFINIERT Accessrechte the 3. ACEs=$1F01FF right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 4.ACEs=20 ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 4. ACEs=S-1-1-0 4. ACE related on SID=Jeder 4. ACE related on Domainname= Accessrechte the 4. ACEs=$1101BF right in the 4. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 4. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 4. ACE=FILE_APPEND_DATA (allows data anzuhängen) right in the 4. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 4. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 4. ACE=FILE_EXECUTE (allows a File to execute) right in the 4. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 4. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 4. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) right in the 4. ACE=_DELETE (File delete) Return of LookupAccountName for Jeder=0 last API-Fehler=122 length the SIDs=12 Return of LookupAccountName for Jeder=1 last API-Fehler=997 length the SIDs=12 Bytes for ACL=128 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=108 amount suitor Bytes in DACL=0 ACEs in DACL=4 Size the 1.ACEs=36 ACE type the 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=997 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Packard Bell Accessrechte the 1. ACEs=$1F01FF Return of AddAce on point 1=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 2.ACEs=20 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=SYSTEM Accessrechte the 2. ACEs=$1F01FF Return of AddAce on point 2=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 3.ACEs=24 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 3. ACE related on SID=Administratoren Accessrechte the 3. ACEs=$1F01FF Return of AddAce on point 3=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 4.ACEs=20 ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 4. ACE related on SID=Jeder Accessrechte the 4. ACEs=$1101BF with ALLOWED_ACE To addierende Rechte=$1001BF Return of AddAce on point 4=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with DENIED_ACE... ...To addierende Rechte=$10000 Return of AddAce on point 0=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0 Error Code IsValidSid=1 last API Fehler=0 Error Code LookupAccountSid=1 last API Fehler=997 Administratoren ****PROZEDUR launched**** chosen Datei=Cokumente and EinstellungenPackard BellDesktopunbenannt.bmp Gruppenname/Username=Administratoren To 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 last API-Fehler=997 Return of GetVolumeInformation=1 last API-Fehler=997 Laufwerksflags=1010000000011111111 Ausgelesene Partition=NTFS grabbed is einschränkbar Return of GetFileSecurity=0 last API-Fehler=122 Erforderliche length the Security Descriptor=204 Return of GetFileSecurity=1 last API-Fehler=0 Return of IsValidSecurityDescriptor=1 last API-Fehler=0 Return of GetSecurityDescriptorDacl=1 last API-Fehler=0 Return of IsValidAcl for DACL=1 last API-Fehler=0 DACL is present! Return of GetAclInformation=1 last API-Fehler=0 amount uses Bytes in DACL=128 amount suitor Bytes in DACL=0 ACEs in DACL=5 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 1. ACEs=S-1-1-0 1. ACE related on SID=Jeder 1. ACE related on Domainname= Accessrechte the 1. ACEs=$10000 right in the 1. ACE=_DELETE (File delete) Size the 2.ACEs=36 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 2. ACEs=S-1-5-21-789336058-1343024091-854245398-1004 2. ACE related on SID=Packard Bell 2. ACE related on Domainname=C4 Accessrechte the 2. ACEs=$1F01FF right in the 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 3.ACEs=20 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 3. ACEs=S-1-5-18 3. ACE related on SID=SYSTEM 3. ACE related on Domainname=NT-AUTORITÄT Accessrechte the 3. ACEs=$1F01FF right in the 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 4.ACEs=24 ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 4. ACEs=S-1-5-32-544 4. ACE related on SID=Administratoren 4. ACE related on Domainname=VORDEFINIERT Accessrechte the 4. ACEs=$1F01FF right in the 4. ACE=FILE_ALL_ACCESS (Vollzugriff) Size the 5.ACEs=20 ACE type the 5.ACEs=ACCESS_ALLOWED_ACE_TYPE Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented Return of ConvertSidToStringSid=1 last API-Fehler=0 Return of LocalFree for String-SID=0 last API-Fehler=0 String-SID the 5. ACEs=S-1-1-0 5. ACE related on SID=Jeder 5. ACE related on Domainname= Accessrechte the 5. ACEs=$1001BF right in the 5. ACE=FILE_READ_DATA (allows Data from one File To reading) right in the 5. ACE=FILE_WRITE_DATA (allows data To Scheiben) right in the 5. ACE=FILE_APPEND_DATA (allows data anzuhängen) right in the 5. ACE=FILE_READ_EA (allows erweiterte Attibute To reading) right in the 5. ACE=FILE_WRITE_EA (allows erweiterte attributes To write) right in the 5. ACE=FILE_EXECUTE (allows a File to execute) right in the 5. ACE=FILE_READ_ATTRIBUTES (reading the Fileattribute) right in the 5. ACE=FILE_WRITE_ATTRIBUTES (Change the Fileattribute) right in the 5. ACE=SYNCHRONIZE (allows one FileHandle on one Complitition I/O To Waiting) Return of LookupAccountName for Administratoren=0 last API-Fehler=122 length the SIDs=16 Return of LookupAccountName for Administratoren=1 last API-Fehler=997 length the SIDs=16 Bytes for ACL=128 Return of InitializeAcl=1 last API-Fehler=997 Return of GetSecurityDescriptorDacl=1 last API-Fehler=997 Return of IsValidAcl for DACL=1 last API-Fehler=997 DACL is present! Return of GetAclInformation=1 last API-Fehler=997 amount uses Bytes in DACL=128 amount suitor Bytes in DACL=0 ACEs in DACL=5 Size the 1.ACEs=20 ACE type the 1.ACEs=ACCESS_DENIED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=997 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 1. ACE related on SID=Jeder Accessrechte the 1. ACEs=$10000 Return of AddAce on point 0=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 2.ACEs=36 ACE type the 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 2. ACE related on SID=Packard Bell Accessrechte the 2. ACEs=$1F01FF Return of AddAce on point 1=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 3.ACEs=20 ACE type the 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 3. ACE related on SID=SYSTEM Accessrechte the 3. ACEs=$1F01FF Return of AddAce on point 2=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Size the 4.ACEs=24 ACE type the 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=16 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 4. ACE related on SID=Administratoren Accessrechte the 4. ACEs=$1F01FF Size the 5.ACEs=20 ACE type the 5.ACEs=ACCESS_ALLOWED_ACE_TYPE Vererbung=0 Error Code IsValidSid=1 last API Fehler=0 Return of LookupAccountSid=1 last API-Fehler=997 Reset the API-Fehlers becomes implemented 5. ACE related on SID=Jeder Accessrechte the 5. ACEs=$1001BF Return of AddAce on point 3=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 with ALLOWED_ACE... ...To addierende Rechte=$11F01FF Return of AddAce on point 4=1 last API-Fehler=0 Return of IsValidAcl for selbsterzeugten DACL=1 last API-Fehler=0 Return of InitializeSecurityDescriptor=1 last API-Fehler=0 Return of SetSecurityDescriptorDacl=1 last API-Fehler=0 Return of SetFileSecurity=1 last API-Fehler=0[/quote:8354fe1111] Lol ik wants Yes nüscht say - but if someone the feeling has these Page need longer to that Show... no wonder - is Yes now already 2909.21 KB big.
salvo. |
| | | | |
|
AnswerThemeninformationenthis Topic has 4 subscriber: |