Forum | | | | - page 1 - |
| | allô Profaner...
j'ai avant, mich bientôt la fois quelque chose mäher avec qui NT/NTFS File-Security trop beschäftigen - Montrer et changement de Eigentümern et son Zeug zum Beispiel. Hat quelqu'un so quelque chose déjà la fois gemacht (avec Security Descriptors gearbeitet) ou bien gibt es intérêt à dem Thema? |
| | | | |
| | | | | - page 6 - |
| | ...nochmals kleine Changement (zur Sicherheit)... KompilierenMarqueSéparationWindowstyle 31+512
Windowtitle "File Security"
Window 0,0-640,440
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"
Declare Filename$,Fehler&,PSECURITY_DESCRIPTOR#,Needed#,Needed&
Declare NewState#,token#,Privileg#,Luid#,System$
Declare Laufwerk$,Label#,LFLAGS#,DAT#
DEclare SID#,GFLAG#
DEclare ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare Test&
Declare ACL_PRESENT#,P_ACL#,ACL_D#
Declare ACL_INFO#,Zähler&,ACE#,P_ACE#,ACE_SIZE&,STRSID#,P_STRSID#
Declare SID2#,IO%,ADDR_NEWSTATE&,PrivCheckBox&,Start&,SecFlag&,ACCESS_MASK&
LET PrivCheckBox&=@CreateCheckBox(%HWND,"Zugriff auf SACL und Eigentümer ermöglichen!",10,200,350,30)
LET Start&=@CreateButton(%HWND,"Programm starten",10,250,200,30)
Whilenot @Getfocus(Start&)
Waitinput
CASE %MENUITEM=-2 : end
WEND
EnableWindow PrivCheckBox&,0
EnableWindow Start&,0
LET Filename$=@LOADFILE$("Datei laden","Alle Dateien |*.*|Textdateien|*.TXT")
IF Filename$<>""
CLEARLIST
LET LAUFWERK$=@LEFT$(Filename$,3)
DIM Label#,256
DIM LFLAGS#,4
DIM DAT#,256
DIM STRSID#,256
DIM P_STRSID#,4
ADDSTRING "Gewählte Datei="+Filename$
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))
IF @LONG(LFLAGS#,0) | $8 = @LONG(LFLAGS#,0)
ADDSTRING "Zugriff ist einschränkbar"
else
ADDSTRING "Zugriff ist nicht einschränkbar"
endif
ADDSTRING "Ausgelesene Partition="+@String$(Dat#,0)
dim token#,4
DIM NewState#,16
DIM Luid#,8
DIM Privileg#,33
ADDSTRING "Windowsversion="+$WINVER
IF @Getcheck(PrivCheckBox&)
ADDSTRING "Privilegien werden gesetzt!"
Long NewState#,0=1 Nur ein Privileg soll geändert werden
Long NewState#,12=$00000002 Das Privileg soll eingeschaltet werden
LET FEHLER&=@OpenProcessToken(@GetCurrentProcess(),$0020 | $0008,Token#)
ADDSTRING "Rückgabe von OpenProcessToken="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
Clear Privileg#
Clear LUID#
STRING Privileg#,0="SeSecurityPrivilege"
LET Fehler&=@LookupPrivilegeValue(@addr(System$),Privileg#,LUID#)
ADDSTRING "Rückgabe von LookupPrivilegeValue für SeSecurityPrivilege="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgeführt"
@SetLastError(0)
LET IO%=%IORESULT
LET ADDR_NEWSTATE&=NewState#
LET ADDR_NEWSTATE&=ADDR_NEWSTATE&+4
@CopyMemory(ADDR_NEWSTATE&,Luid#,8)
ADDSTRING "Letzter API-Fehler nach CopyMemory="+@STR$(@GetLastError())
Let Fehler&=@AdjustTokenPrivileges(@LONG(Token#,0),0,NewState#,0,0,0)
ADDSTRING "Rückgabe von AdjustTokenPrivileges="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
Clear NewState#
Long NewState#,0=1 Nur ein Privileg soll geändert werden
Long NewState#,12=$00000002 Das Privileg soll eingeschaltet werden
Clear Privileg#
Clear LUID#
STRING Privileg#,0="SeTakeOwnershipPrivilege"
LET Fehler&=@LookupPrivilegeValue(@addr(System$),Privileg#,LUID#)
ADDSTRING "Rückgabe von LookupPrivilegeValue fur SeTakeOwnershipPrivilege="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgeführt"
@SetLastError(0)
LET IO%=%IORESULT
LET ADDR_NEWSTATE&=NewState#
LET ADDR_NEWSTATE&=ADDR_NEWSTATE&+4
@CopyMemory(ADDR_NEWSTATE&,Luid#,8)
ADDSTRING "Letzter API-Fehler nach CopyMemory="+@STR$(@GetLastError())
Let Fehler&=@AdjustTokenPrivileges(@LONG(Token#,0),0,NewState#,0,0,0)
ADDSTRING "Rückgabe von AdjustTokenPrivileges="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
ADDSTRING "Reset des API-Fehlers wird durchgeführt"
@SetLastError(0)
LET IO%=%IORESULT
else
ADDSTRING "Privilegien werden nicht!"
endif
DIM Needed#,4
Clear Needed#
IF @Getcheck(PrivCheckbox&)
LET SECFLAG&=$1 | $2 | $4 | $8
else
LET SECFLAG&=$1 | $2 | $4
endif
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 SID#,4
DIM GFlag#,4
Clear SID#
Clear GFLAG#
LET FEHLER&=@GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR#,SID#,GFLAG#)
ADDSTRING "Rückgabe von GetSecurityDescriptorOwner="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSid(@long(SID#,0))
ADDSTRING "Rückgabe von IsValidSid für den Besitzer="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Long SIZE_ACCOUNT#,0=255
LONG SIZE_DOMAIN#,0=255
LET FEHLER&=@LookupAccountSid(@ADDR(System$),@Long(SID#,0),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
ADDSTRING "Domainname="+@String$(Domain#,0)
ADDSTRING "Besitzer der Datei="+@String$(ACCOUNT_NAME#,0)
Clear STRSID#
IF @VAL(@LEFT$($WINVER,3))>=5.0
LET FEHLER&=@ConvertSidToStringSid(@Long(SID#,0),P_STRSID#)
@CopyMemory(STRSID#,@LONG(P_STRSID#,0),255)
ADDSTRING "String-SID des Besitzers="+@STRING$(STRSID#,0)
ADDSTRING "Rückgabe von ConvertSidToStringSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
endif
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())
Clear SID_NAME_USE#
Clear ACCOUNT_NAME#
Clear Domain#
Clear SID#
Clear GFLAG#
LET FEHLER&=@GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR#,SID#,GFLAG#)
ADDSTRING "Rückgabe von GetSecurityDescriptorGroup="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidSid(@long(SID#,0))
ADDSTRING "Rückgabe von IsValidSid für die primäre Gruppe="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
Long SIZE_ACCOUNT#,0=255
LONG SIZE_DOMAIN#,0=255
LET FEHLER&=@LookupAccountSid(@ADDR(System$),@Long(SID#,0),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
ADDSTRING "Domainname="+@String$(Domain#,0)
ADDSTRING "Primäre Gruppe der Datei="+@String$(ACCOUNT_NAME#,0)
DIM ACL_PRESENT#,1
DIM P_ACL#,4
DIM ACL_D#,4
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 @AND(Fehler&=1,@LONG(ACL_PRESENT#,0)=1)
DIM ACL_INFO#,12
DIM P_ACE#,4
CLEAR ACL_INFO#
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 "ACEs in DACL="+@STR$(@LONG(ACL_INFO#,0))
LET Zähler&=0
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)
ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))
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
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&)
DIM SID2#,ACE_SIZE&-8
@CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
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
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
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 @or(ACCESS_MASK&,$1F01FF)=ACCESS_MASK&
ADDSTRING "Recht im "+@STR$(@int(Zähler&+1))+". ACE=FILE_ALL_ACCESS"
LET ACCESS_MASK&=ACCESS_MASK&-$1F01FF
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
Dispose P_ACE#
Dispose ACL_INFO#
Endif
IF @Getcheck(PrivCheckbox&)
Clear ACL_PRESENT#,P_ACL#,ACL_D#
Let Fehler&=@GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR#,ACL_PRESENT#,P_ACL#,ACL_D#)
ADDSTRING "Rückgabe von GetSecurityDescriptorSacl="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@IsValidAcl(@long(P_ACL#,0))
ADDSTRING "Rückgabe von IsValidAcl für den SACL="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
IF @LONG(ACL_PRESENT#,0)=1
ADDSTRING "SACL ist vorhanden!"
else
ADDSTRING "SACL ist nicht vorhanden!"
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 "ACEs in SACL="+@STR$(@LONG(ACL_INFO#,0))
LET Zähler&=0
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)
ADDSTRING "Größe des "+@STR$(@INT(Zähler&+1))+".ACEs="+@STR$(@Word(ACE#,2))
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
IF @or(@BYTE(ACE#,1),$40)=@BYTE(ACE#,1)
ADDSTRING @STR$(@INT(Zähler&+1))+".ACE zeichnet erfolgreiche Zugriffe auf."
Elseif @or(@BYTE(ACE#,1),$80)=@BYTE(ACE#,1)
ADDSTRING @STR$(@INT(Zähler&+1))+".ACE zeichnet fehlgeschlagene Zugriffe auf."
endif
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&)
DIM SID2#,ACE_SIZE&-8
@CopyMemory(SID2#,@LONG(P_ACE#,0)+8,ACE_SIZE&-8)
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
ADDSTRING @STR$(@int(Zähler&+1))+". ACE Bezogen auf SID="+@String$(ACCOUNT_NAME#,0)
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
Dispose ACL_INFO#
Dispose P_ACE#
Endif
endif
IF @Getcheck(PrivCheckbox&)
LET FEHLER&=@CloseHandle(@LONG(Token#,0))
ADDSTRING "Rückgabe von CloseHandle="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
endif
Dispose ACL_D#
Dispose P_ACL#
Dispose ACL_PRESENT#
Dispose SID_NAME_USE#
Dispose ACCOUNT_NAME#
Dispose SIZE_ACCOUNT#
Dispose Domain#
Dispose SIZE_DOMAIN#
Dispose SID#
Dispose GFLAG#
Dispose Luid#
Dispose Privileg#
Dispose NewState#
Dispose token#
Dispose Needed#
Dispose PSECURITY_DESCRIPTOR#
Dispose Label#
Dispose LFlags#
DISPOSE DAT#
Dis a> STRSID#
Dispose P_STRSID#
@ Editbox("API Rückgaben", 1)
Endif
Whilenot % MENUITEM=-2
Waitinput
Wend
|
| | | | |
| | Michael Wodrich | ici mon Ergebnisse (1. sans, 2. MIT Zugriff): (Win XP Home SP2, Admin-droite)
[box:f5cfca55e0] Gewählte Datei=CROFAN$SourceFixstern2.exe dernier API-Fehler=1400 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=1400 Laufwerksflags=1010000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien volonté pas! Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=188 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=PROFANIUM Besitzer qui Datei=Programmierer String-SID des Besitzers=S-1-5-21-1820858989-1647371527-101265881-1005 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=PROFANIUM Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=4 Taille des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Administratoren 1. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF droite im 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=SYSTEM 2. ACE Bezogen sur Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF droite im 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 3.ACEs=36 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 3. ACE Bezogen sur SID=Programmierer 3. ACE Bezogen sur Domainname=PROFANIUM Accessrechte des 3. ACEs=$1F01FF droite im 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 4. ACE Bezogen sur SID=Benutzer 4. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 4. ACEs=$1200A9 droite im 4. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 4. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 4. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 4. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 4. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 4. ACE=SYNCHRONIZE (Erlaubt einem FileHandle sur un Complitition I/O trop attendre) [/box:f5cfca55e0] [box:f5cfca55e0] Gewählte Datei=CROFAN$SourceFixstern2.exe dernier API-Fehler=1400 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=1400 Laufwerksflags=1010000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien volonté gesetzt! Rückgabe de OpenProcessToken=1 dernier API-Fehler=1400 Rückgabe de LookupPrivilegeValue pour SeSecurityPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Reset des API-Fehlers wird durchgeführt Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=188 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=PROFANIUM Besitzer qui Datei=Programmierer String-SID des Besitzers=S-1-5-21-1820858989-1647371527-101265881-1005 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=PROFANIUM Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=4 Taille des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Administratoren 1. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF droite im 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=SYSTEM 2. ACE Bezogen sur Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF droite im 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 3.ACEs=36 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 3. ACE Bezogen sur SID=Programmierer 3. ACE Bezogen sur Domainname=PROFANIUM Accessrechte des 3. ACEs=$1F01FF droite im 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 4. ACE Bezogen sur SID=Benutzer 4. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 4. ACEs=$1200A9 droite im 4. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 4. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 4. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 4. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 4. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 4. ACE=SYNCHRONIZE (Erlaubt einem FileHandle sur un Complitition I/O trop attendre) Rückgabe de GetSecurityDescriptorSacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den SACL=0 dernier API-Fehler=1336 SACL ist pas vorhanden! Rückgabe de CloseHandle=1 dernier API-Fehler=1336 [/box:f5cfca55e0] MfG Michael Wodrich |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 07.05.2005 ▲ |
| |
| | | Jepp.
[box:9b80470e9f]Gewählte Datei=Cokumente et EinstellungenPackard BellDesktop1.mp3 dernier API-Fehler=0 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=0 Laufwerksflags=1010000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien volonté gesetzt! Rückgabe de OpenProcessToken=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue pour SeSecurityPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Reset des API-Fehlers wird durchgeführt Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=164 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=C4 Besitzer qui Datei=Packard Bell String-SID des Besitzers=S-1-5-21-789336058-1343024091-854245398-1004 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=C4 Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=3 Taille des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Packard Bell 1. ACE Bezogen sur Domainname=C4 Accessrechte des 1. ACEs=$1F01FF droite im 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=SYSTEM 2. ACE Bezogen sur Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF droite im 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 3. ACE Bezogen sur SID=Administratoren 3. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF droite im 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de GetSecurityDescriptorSacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den SACL=0 dernier API-Fehler=1336 SACL ist pas vorhanden! Rückgabe de CloseHandle=1 dernier API-Fehler=1336[/box:9b80470e9f] |
| | | | |
| | | allô gens...
Tut mir leid, mais il me faut Fichiers avec einem SACL. aucun qui de euch getesteten Fichiers hat une SACL. un SACL überwacht Zugriffe sur qui Dossier et cet peut ensuite aufgezeichnet volonté. s'il te plaît s'il te plaît la fois une SACL vergeben... |
| | | | |
| | Michael Wodrich | je fürchte, là versteh je seulement gare... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 07.05.2005 ▲ |
| |
| | | Hab immo ne...aucune File avec vergebenen SACLs. là devrait je mir z.B. seulement de quelqu'un per MSN un File envoyons laisser - msn vergibt automatisch SACLs.
Sitze grad à nem Home - là existiert solch Mgl. ldr. pas.
Salve. |
| | | | |
| | CB | allô Andreas, habe maintenant la fois versuchsweise chez suivant Dossier alle Rechte sauf Vollzugriff sur Verweigern gesetzt: [box:67f8a8161e]Gewählte Datei=DROFAN#FORUM#iviewcapture_date_03_03_2005_time_23_10_27.jpg dernier API-Fehler=0 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien volonté gesetzt! Rückgabe de OpenProcessToken=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue pour SeSecurityPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Reset des API-Fehlers wird durchgeführt Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=124 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=MMC3 Besitzer qui Datei=CB String-SID des Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=MMC3 Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=2 Taille des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Jeder 1. ACE Bezogen sur Domainname= Accessrechte des 1. ACEs=$301BF droite im 1. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 1. ACE=FILE_WRITE_DATA (Erlaubt données trop Scheiben) droite im 1. ACE=FILE_APPEND_DATA (Erlaubt données anzuhängen) droite im 1. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 1. ACE=FILE_WRITE_EA (Erlaubt Avancé Attribute trop écrivons) droite im 1. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 1. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 1. ACE=FILE_WRITE_ATTRIBUTES (Changement qui Fileattribute) droite im 1. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 1. ACE=_DELETE (Dossier effacer) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=Jeder 2. ACE Bezogen sur Domainname= Accessrechte des 2. ACEs=$1F01FF droite im 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de GetSecurityDescriptorSacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den SACL=0 dernier API-Fehler=1336 SACL ist pas vorhanden! Rückgabe de CloseHandle=1 dernier API-Fehler=0[/box:67f8a8161e] et après Vollzugriff verweigern (je habs probiert - ließ sich pas plus ouvrir, aussi pas kopieren etc.): [box:67f8a8161e]Gewählte Datei=DROFAN#FORUM#iviewcapture_date_03_03_2005_time_23_10_27.jpg dernier API-Fehler=0 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien volonté gesetzt! Rückgabe de OpenProcessToken=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue pour SeSecurityPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Reset des API-Fehlers wird durchgeführt Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=124 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=MMC3 Besitzer qui Datei=CB String-SID des Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=MMC3 Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=2 Taille des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Jeder 1. ACE Bezogen sur Domainname= Accessrechte des 1. ACEs=$F01FF droite im 1. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 1. ACE=FILE_WRITE_DATA (Erlaubt données trop Scheiben) droite im 1. ACE=FILE_APPEND_DATA (Erlaubt données anzuhängen) droite im 1. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 1. ACE=FILE_WRITE_EA (Erlaubt Avancé Attribute trop écrivons) droite im 1. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 1. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 1. ACE=FILE_WRITE_ATTRIBUTES (Changement qui Fileattribute) droite im 1. ACE=WRITE_DAC (Changement qui DACL Einträge) droite im 1. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 1. ACE=File_Delete _Child (Erlaubt une Unterordner trop effacer - pour Fichiers aucun signification) droite im 1. ACE=WRITE_OWNER (propriétaire changement) droite im 1. ACE=_DELETE (Dossier effacer) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=Jeder 2. ACE Bezogen sur Domainname= Accessrechte des 2. ACEs=$1F01FF droite im 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de GetSecurityDescriptorSacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den SACL=0 dernier API-Fehler=1336 SACL ist pas vorhanden! Rückgabe de CloseHandle=1 dernier API-Fehler=0[/box:67f8a8161e] Hilft Dir cela plus? Christian |
| | | | |
| | | allô IF...
Zumindestens sous Windows2000 volonté SACLs pas seulement automatisch vergeben. Über den Windows Explorer peux du avec Droit sur une Dossier en Eigenschaften Montrer et verändern laisser. là befinden sich aussi qui Sicherheitseinstellungen. quelque chose versteck (Button erweitert) findest du ensuite aussi den ACL (Überwachung). ici la fois mon Ergebnisse avec sur den Explorer erzeugten SACL. [box:404d413cad] Gewählte Datei=H:TestTest 2.doc dernier API-Fehler=0 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.0 Privilegien volonté gesetzt! Rückgabe de OpenProcessToken=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue pour SeSecurityPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Reset des API-Fehlers wird durchgeführt Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=212 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=VORDEFINIERT Besitzer qui Datei=Administratoren String-SID des Besitzers=S-1-5-32-544 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=ANDREAS-N4WTRUA Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=4 Taille des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Hauptbenutzer 1. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$200A9 droite im 1. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 1. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 1. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 1. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 1. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) Taille des 2.ACEs=24 ACE Typ des 2.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=Hauptbenutzer 2. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 2. ACEs=$F00E9 droite im 2. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 2. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 2. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 2. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 2. ACE=WRITE_DAC (Changement qui DACL Einträge) droite im 2. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 2. ACE=File_Delete _Child (Erlaubt une Unterordner trop effacer - pour Fichiers aucun signification) droite im 2. ACE=WRITE_OWNER (propriétaire changement) droite im 2. ACE=_DELETE (Dossier effacer) Taille des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 3. ACE Bezogen sur SID=Administratoren 3. ACE Bezogen sur Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF droite im 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 4.ACEs=20 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 4. ACE Bezogen sur SID=Jeder 4. ACE Bezogen sur Domainname= Accessrechte des 4. ACEs=$120089 droite im 4. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 4. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 4. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 4. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 4. ACE=SYNCHRONIZE (Erlaubt einem FileHandle sur un Complitition I/O trop attendre) Rückgabe de GetSecurityDescriptorSacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den SACL=1 dernier API-Fehler=0 SACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans SACL=2 Taille des 1.ACEs=20 ACE Typ des 1.ACEs=SYSTEM_AUDIT_ACE_TYPE 1.ACE zeichnet erfolgreiche Zugriffe sur. Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Jeder 1. ACE Bezogen sur Domainname= Accessrechte des 1. ACEs=$A2 droite im 1. ACE=FILE_WRITE_DATA (Erlaubt données trop Scheiben) droite im 1. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 1. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=SYSTEM_AUDIT_ACE_TYPE 2.ACE zeichnet fehlgeschlagene Zugriffe sur. Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=Jeder 2. ACE Bezogen sur Domainname= Accessrechte des 2. ACEs=$1 droite im 2. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) Rückgabe de CloseHandle=1 dernier API-Fehler=0 [/box:404d413cad] |
| | | | |
| | CB | allô Andreas! Im Xp ists pas entier so comment dans 2000. Pour cette mußte je qui Überwachung pour den ganzen PC einschalten - einzelne Dossier reicht pas! - exposition Dir fois le Screenshots à [box:93a741abd4]Gewählte Datei=DROFAN#FORUM#SACL-Test.doc dernier API-Fehler=0 Rückgabe de GetVolumeInformation=1 dernier API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff ist einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien volonté gesetzt! Rückgabe de OpenProcessToken=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue pour SeSecurityPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt dernier API-faute pour CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 dernier API-Fehler=0 Reset des API-Fehlers wird durchgeführt Rückgabe de GetFileSecurity=0 dernier API-Fehler=122 Erforderliche Longueur des Security Descriptor=188 Rückgabe de GetFileSecurity=1 dernier API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour den Besitzer=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=MMC3 Besitzer qui Datei=CB String-SID des Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003 Rückgabe de ConvertSidToStringSid=1 dernier API-Fehler=0 Rückgabe de LocalFree pour den String-SID=0 dernier API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 dernier API-Fehler=0 Rückgabe de IsValidSid pour qui primäre Gruppe=1 dernier API-Fehler=0 Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt Domainname=MMC3 Primäre Gruppe qui Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den DACL=1 dernier API-Fehler=0 DACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans DACL=2 Taille des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=Jeder 1. ACE Bezogen sur Domainname= Accessrechte des 1. ACEs=$1F01FF droite im 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=Jeder 2. ACE Bezogen sur Domainname= Accessrechte des 2. ACEs=$10000000 droite im 2. ACE=GENERIC_ALL Rückgabe de GetSecurityDescriptorSacl=1 dernier API-Fehler=0 Rückgabe de IsValidAcl pour den SACL=1 dernier API-Fehler=0 SACL ist vorhanden! Rückgabe de GetAclInformation=1 dernier API-Fehler=0 ACEs dans SACL=2 Taille des 1.ACEs=36 ACE Typ des 1.ACEs=SYSTEM_AUDIT_ACE_TYPE 1.ACE zeichnet erfolgreiche Zugriffe sur. Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 1. ACE Bezogen sur SID=CB 1. ACE Bezogen sur Domainname=MMC3 Accessrechte des 1. ACEs=$F01FF droite im 1. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 1. ACE=FILE_WRITE_DATA (Erlaubt données trop Scheiben) droite im 1. ACE=FILE_APPEND_DATA (Erlaubt données anzuhängen) droite im 1. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 1. ACE=FILE_WRITE_EA (Erlaubt Avancé Attribute trop écrivons) droite im 1. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 1. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 1. ACE=FILE_WRITE_ATTRIBUTES (Changement qui Fileattribute) droite im 1. ACE=WRITE_DAC (Changement qui DACL Einträge) droite im 1. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 1. ACE=File_Delete _Child (Erlaubt une Unterordner trop effacer - pour Fichiers aucun signification) droite im 1. ACE=WRITE_OWNER (propriétaire changement) droite im 1. ACE=_DELETE (Dossier effacer) Taille des 2.ACEs=20 ACE Typ des 2.ACEs=SYSTEM_AUDIT_ACE_TYPE 2.ACE zeichnet erfolgreiche Zugriffe sur. Rückgabe de LookupAccountSid=1 dernier API-Fehler=997 Reset des API-Fehlers wird durchgeführt 2. ACE Bezogen sur SID=Jeder 2. ACE Bezogen sur Domainname= Accessrechte des 2. ACEs=$F01FF droite im 2. ACE=FILE_READ_DATA (Erlaubt données aus einem File trop lesen) droite im 2. ACE=FILE_WRITE_DATA (Erlaubt données trop Scheiben) droite im 2. ACE=FILE_APPEND_DATA (Erlaubt données anzuhängen) droite im 2. ACE=FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) droite im 2. ACE=FILE_WRITE_EA (Erlaubt Avancé Attribute trop écrivons) droite im 2. ACE=FILE_EXECUTE (Erlaubt une Dossier auszuführen) droite im 2. ACE=FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) droite im 2. ACE=FILE_WRITE_ATTRIBUTES (Changement qui Fileattribute) droite im 2. ACE=WRITE_DAC (Changement qui DACL Einträge) droite im 2. ACE=READ_CONTROL (Lesen qui DACL Einträge et Besitzer) droite im 2. ACE=File_Delete _Child (Erlaubt une Unterordner trop effacer - pour Fichiers aucun signification) droite im 2. ACE=WRITE_OWNER (propriétaire changement) droite im 2. ACE=_DELETE (Dossier effacer) Rückgabe de CloseHandle=1 dernier API-Fehler=0[/box:93a741abd4] cela sollte maintenant mais passen - ou bien? Christian |
| | | | |
| | | allô Christian...
Wunderbar! oui c'est ca so!!! cela Lecture des DACLs scheint maintenant alors aussi trop marcher. avec dem mettons suis je aussi déjà quelque chose plus.
qui Taille eines speziellen ACE hängt de qui Taille des enthaltenen SIDs ab.
un SID scheint toujours mindestens 8 Bytes (un LUID) grand trop son. la taille eines SIDs pourrait sich droite simple avec LookupAccountName ermitteln laisser. So lente wirds quoi...
je werde seulement wohl qui Größen aller enthaltenen ACEs bestimmen doit. seulement ensuite peux Je l' neuen ACL dimensionieren et initialisieren => cela wird une Heidenarbeit!
qui Proc wird ensuite so air, qui on comme paramètre sous anderem angeben doit, si qui déjà vorhandenen ACEs conservé rester ou bien gelöscht volonté devoir. Neue Rechte könne so simple incorporé volonté. |
| | | | |
| | CB | délicat, super! Soll je Dein letztes File sous NT aussi testen ou bien sur qui prochain Version attendre?
Christian |
| | | | |
| | | | - page 7 - |
| | | allô Christian...
non, NT doit pas plus son. |
| | | | |
|
répondreOptions du sujet | 5.623 Views |
Themeninformationencet Thema hat 6 participant: |