Foro | | | | - Página 1 - |
| | ¡Hola Profaner...
Yo habe antes, mich demnächst veces algo mäher con el NT/NTFS File-Security a beschäftigen - Mostrar y ändern de Eigentümern y son Zeug para Ejemplo. Sombrero alguien así algo ya veces gemacht (con Security Descriptors gearbeitet) oder hay Interesse a el Thema? |
| | | | |
| | | | | - Página 6 - |
| | ...nochmals kleine Änderung (a Sicherheit)... KompilierenMarcaSeparaciónWindowstyle 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#
Disponer P_STRSID#
@ Editbox("API Rückgaben", 1)
Endif
Sinestar encargado % MENUITEM=-2
Waitinput
Wend
|
| | | | |
| | Michael Wodrich | Hier mi Ergebnisse (1. sin, 2. MIT Zugriff): (Win XP Home SP2, Admin-Recht)
[box:f5cfca55e0] Gewählte Datei=CROFAN$SourceFixstern2.exe Letzter API-Fehler=1400 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=1400 Laufwerksflags=1010000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien voluntad no! Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=188 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=PROFANIUM Besitzer el Datei=Programmierer String-SID des Besitzers=S-1-5-21-1820858989-1647371527-101265881-1005 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=PROFANIUM Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=4 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Administratoren 1. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=36 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Programmierer 3. ACE Bezogen en Domainname=PROFANIUM Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 4. ACE Bezogen en SID=Benutzer 4. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 4. ACEs=$1200A9 Recht en el 4. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 4. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 4. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 4. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 4. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 4. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) [/box:f5cfca55e0] [box:f5cfca55e0] Gewählte Datei=CROFAN$SourceFixstern2.exe Letzter API-Fehler=1400 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=1400 Laufwerksflags=1010000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien voluntad gesetzt! Rückgabe de OpenProcessToken=1 Letzter API-Fehler=1400 Rückgabe de LookupPrivilegeValue para SeSecurityPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Reset des API-Fehlers se durchgeführt Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=188 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=PROFANIUM Besitzer el Datei=Programmierer String-SID des Besitzers=S-1-5-21-1820858989-1647371527-101265881-1005 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=PROFANIUM Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=4 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Administratoren 1. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=36 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Programmierer 3. ACE Bezogen en Domainname=PROFANIUM Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 4.ACEs=24 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 4. ACE Bezogen en SID=Benutzer 4. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 4. ACEs=$1200A9 Recht en el 4. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 4. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 4. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 4. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 4. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 4. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Rückgabe de GetSecurityDescriptorSacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el SACL=0 Letzter API-Fehler=1336 SACL es no disponible! Rückgabe de CloseHandle=1 Letzter API-Fehler=1336 [/box:f5cfca55e0] MfG Michael Wodrich |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 07.05.2005 ▲ |
| |
| | | Jepp.
[box:9b80470e9f]Gewählte Datei=Cokumente y EinstellungenPackard BellDesktop1.mp3 Letzter API-Fehler=0 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=0 Laufwerksflags=1010000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien voluntad gesetzt! Rückgabe de OpenProcessToken=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue para SeSecurityPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Reset des API-Fehlers se durchgeführt Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=164 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=C4 Besitzer el Datei=Packard Bell String-SID des Besitzers=S-1-5-21-789336058-1343024091-854245398-1004 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=C4 Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=3 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Packard Bell 1. ACE Bezogen en Domainname=C4 Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=SYSTEM 2. ACE Bezogen en Domainname=NT-AUTORITÄT Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Administratoren 3. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de GetSecurityDescriptorSacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el SACL=0 Letzter API-Fehler=1336 SACL es no disponible! Rückgabe de CloseHandle=1 Letzter API-Fehler=1336[/box:9b80470e9f] |
| | | | |
| | | ¡Hola Personas...
Tut me leid, pero yo brauche Archivos con un SACL. Keine el de euch getesteten Archivos ha una SACL. Ein SACL überwacht Zugriffe en el Expediente y esta puede entonces aufgezeichnet voluntad. Bitte Por favor, veces a la SACL vergeben... |
| | | | |
| | Michael Wodrich | Yo fürchte, como versteh Yo sólo Bahnhof... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 07.05.2005 ▲ |
| |
| | | Hab immo kein File con vergebenen SACLs. Como debería Yo z.B. sólo de jemanden por MSN una File enviar dejar - msn vergibt automáticamente SACLs.
Sitze grad a nem Home - hay existiert solch Mgl. ldr. no.
Salve. |
| | | | |
| | CB | ¡Hola Andreas, habe ahora veces versuchsweise en folgender Expediente todos Rechte außer Vollzugriff en Verweigern gesetzt: [box:67f8a8161e]Gewählte Datei=DROFAN#FORUM#iviewcapture_date_03_03_2005_time_23_10_27.jpg Letzter API-Fehler=0 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien voluntad gesetzt! Rückgabe de OpenProcessToken=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue para SeSecurityPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Reset des API-Fehlers se durchgeführt Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=124 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=MMC3 Besitzer el Datei=CB String-SID des Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=MMC3 Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$301BF Recht en el 1. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 1. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 1. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 1. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 1. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 1. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 1. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 1. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 1. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 1. ACE=_DELETE (Expediente löschen) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de GetSecurityDescriptorSacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el SACL=0 Letzter API-Fehler=1336 SACL es no disponible! Rückgabe de CloseHandle=1 Letzter API-Fehler=0[/box:67f8a8161e] Und danach Vollzugriff verweigern (Yo habs probiert - ließ se no mehr abierto, auch no kopieren etc.): [box:67f8a8161e]Gewählte Datei=DROFAN#FORUM#iviewcapture_date_03_03_2005_time_23_10_27.jpg Letzter API-Fehler=0 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien voluntad gesetzt! Rückgabe de OpenProcessToken=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue para SeSecurityPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Reset des API-Fehlers se durchgeführt Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=124 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=MMC3 Besitzer el Datei=CB String-SID des Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=MMC3 Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$F01FF Recht en el 1. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 1. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 1. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 1. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 1. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 1. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 1. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 1. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 1. ACE=WRITE_DAC (Cambio el DACL Einträge) Recht en el 1. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 1. ACE=File_Delete _Child (Erlaubt una Unterordner a löschen - para Archivos no Bedeutung) Recht en el 1. ACE=WRITE_OWNER (Eigentümer ändern) Recht en el 1. ACE=_DELETE (Expediente löschen) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1F01FF Recht en el 2. ACE=FILE_ALL_ACCESS (Vollzugriff) Rückgabe de GetSecurityDescriptorSacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el SACL=0 Letzter API-Fehler=1336 SACL es no disponible! Rückgabe de CloseHandle=1 Letzter API-Fehler=0[/box:67f8a8161e] Hilft Usted el más? Christian |
| | | | |
| | | ¡Hola IF...
Zumindestens bajo Windows2000 voluntad SACLs no sólo automáticamente vergeben. Über el Windows Explorer kannst du con Rechtsklick en una Expediente deren Características Mostrar y verändern dejar. Dort befinden se auch el Sicherheitseinstellungen. Etwas versteck (Button erweitert) findest du entonces auch el ACL (Überwachung). Hier veces mi Ergebnisse con encima el Explorer erzeugten SACL. [box:404d413cad] Gewählte Datei=H:TestTest 2.doc Letzter API-Fehler=0 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.0 Privilegien voluntad gesetzt! Rückgabe de OpenProcessToken=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue para SeSecurityPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Reset des API-Fehlers se durchgeführt Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=212 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=VORDEFINIERT Besitzer el Datei=Administratoren String-SID des Besitzers=S-1-5-32-544 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=ANDREAS-N4WTRUA Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=4 Größe des 1.ACEs=24 ACE Typ des 1.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Hauptbenutzer 1. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 1. ACEs=$200A9 Recht en el 1. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 1. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 1. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 1. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 1. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Größe des 2.ACEs=24 ACE Typ des 2.ACEs=ACCESS_DENIED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Hauptbenutzer 2. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 2. ACEs=$F00E9 Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=WRITE_DAC (Cambio el DACL Einträge) Recht en el 2. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 2. ACE=File_Delete _Child (Erlaubt una Unterordner a löschen - para Archivos no Bedeutung) Recht en el 2. ACE=WRITE_OWNER (Eigentümer ändern) Recht en el 2. ACE=_DELETE (Expediente löschen) Größe des 3.ACEs=24 ACE Typ des 3.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 3. ACE Bezogen en SID=Administratoren 3. ACE Bezogen en Domainname=VORDEFINIERT Accessrechte des 3. ACEs=$1F01FF Recht en el 3. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 4.ACEs=20 ACE Typ des 4.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 4. ACE Bezogen en SID=Jeder 4. ACE Bezogen en Domainname= Accessrechte des 4. ACEs=$120089 Recht en el 4. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 4. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 4. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 4. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 4. ACE=SYNCHRONIZE (Erlaubt una FileHandle en una Complitition I/O a warten) Rückgabe de GetSecurityDescriptorSacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el SACL=1 Letzter API-Fehler=0 SACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en SACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=SYSTEM_AUDIT_ACE_TYPE 1.ACE características erfolgreiche Zugriffe en. Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$A2 Recht en el 1. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 1. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 1. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=SYSTEM_AUDIT_ACE_TYPE 2.ACE características fehlgeschlagene Zugriffe en. Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$1 Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Rückgabe de CloseHandle=1 Letzter API-Fehler=0 [/box:404d413cad] |
| | | | |
| | CB | ¡Hola Andreas! Im Xp ists no bastante como en 2000. Dafür mußte Yo el Überwachung para el ganzen PC einschalten - einzelne Expediente reicht no! - mostrar Dir veces el Screenshots a [box:93a741abd4]Gewählte Datei=DROFAN#FORUM#SACL-Test.doc Letzter API-Fehler=0 Rückgabe de GetVolumeInformation=1 Letzter API-Fehler=0 Laufwerksflags=1110000000011111111 Zugriff es einschränkbar Ausgelesene Partition=NTFS Windowsversion=5.1 Privilegien voluntad gesetzt! Rückgabe de OpenProcessToken=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue para SeSecurityPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Rückgabe de LookupPrivilegeValue fur SeTakeOwnershipPrivilege=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Letzter API-Fehler después de CopyMemory=0 Rückgabe de AdjustTokenPrivileges=1 Letzter API-Fehler=0 Reset des API-Fehlers se durchgeführt Rückgabe de GetFileSecurity=0 Letzter API-Fehler=122 Erforderliche Longitud des Security Descriptor=188 Rückgabe de GetFileSecurity=1 Letzter API-Fehler=0 Rückgabe de IsValidSecurityDescriptor=1 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorOwner=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el Besitzer=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=MMC3 Besitzer el Datei=CB String-SID des Besitzers=S-1-5-21-1417001333-1004336348-682003330-1003 Rückgabe de ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe de LocalFree para el String-SID=0 Letzter API-Fehler=0 Rückgabe de GetSecurityDescriptorGroup=1 Letzter API-Fehler=0 Rückgabe de IsValidSid para el primäre Gruppe=1 Letzter API-Fehler=0 Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt Domainname=MMC3 Primäre Gruppe el Datei=Kein Rückgabe de GetSecurityDescriptorDacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el DACL=1 Letzter API-Fehler=0 DACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en DACL=2 Größe des 1.ACEs=20 ACE Typ des 1.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=Jeder 1. ACE Bezogen en Domainname= Accessrechte des 1. ACEs=$1F01FF Recht en el 1. ACE=FILE_ALL_ACCESS (Vollzugriff) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=ACCESS_ALLOWED_ACE_TYPE Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$10000000 Recht en el 2. ACE=GENERIC_ALL Rückgabe de GetSecurityDescriptorSacl=1 Letzter API-Fehler=0 Rückgabe de IsValidAcl para el SACL=1 Letzter API-Fehler=0 SACL es disponible! Rückgabe de GetAclInformation=1 Letzter API-Fehler=0 ACEs en SACL=2 Größe des 1.ACEs=36 ACE Typ des 1.ACEs=SYSTEM_AUDIT_ACE_TYPE 1.ACE características erfolgreiche Zugriffe en. Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 1. ACE Bezogen en SID=CB 1. ACE Bezogen en Domainname=MMC3 Accessrechte des 1. ACEs=$F01FF Recht en el 1. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 1. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 1. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 1. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 1. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 1. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 1. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 1. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 1. ACE=WRITE_DAC (Cambio el DACL Einträge) Recht en el 1. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 1. ACE=File_Delete _Child (Erlaubt una Unterordner a löschen - para Archivos no Bedeutung) Recht en el 1. ACE=WRITE_OWNER (Eigentümer ändern) Recht en el 1. ACE=_DELETE (Expediente löschen) Größe des 2.ACEs=20 ACE Typ des 2.ACEs=SYSTEM_AUDIT_ACE_TYPE 2.ACE características erfolgreiche Zugriffe en. Rückgabe de LookupAccountSid=1 Letzter API-Fehler=997 Reset des API-Fehlers se durchgeführt 2. ACE Bezogen en SID=Jeder 2. ACE Bezogen en Domainname= Accessrechte des 2. ACEs=$F01FF Recht en el 2. ACE=FILE_READ_DATA (Erlaubt Daten de una File a lesen) Recht en el 2. ACE=FILE_WRITE_DATA (Erlaubt Daten a Scheiben) Recht en el 2. ACE=FILE_APPEND_DATA (Erlaubt Daten anzuhängen) Recht en el 2. ACE=FILE_READ_EA (Erlaubt erweiterte Attibute a lesen) Recht en el 2. ACE=FILE_WRITE_EA (Erlaubt erweiterte Atributos a escribir) Recht en el 2. ACE=FILE_EXECUTE (Erlaubt una Expediente auszuführen) Recht en el 2. ACE=FILE_READ_ATTRIBUTES (Lesen el Fileattribute) Recht en el 2. ACE=FILE_WRITE_ATTRIBUTES (Cambio el Fileattribute) Recht en el 2. ACE=WRITE_DAC (Cambio el DACL Einträge) Recht en el 2. ACE=READ_CONTROL (Lesen el DACL Einträge y Besitzer) Recht en el 2. ACE=File_Delete _Child (Erlaubt una Unterordner a löschen - para Archivos no Bedeutung) Recht en el 2. ACE=WRITE_OWNER (Eigentümer ändern) Recht en el 2. ACE=_DELETE (Expediente löschen) Rückgabe de CloseHandle=1 Letzter API-Fehler=0[/box:93a741abd4] Das Ahora debe aber passen - oder? Christian |
| | | | |
| | | ¡Hola Christian...
Wunderbar! Exactamente así!!! Das Auslesen des DACLs scheint ahora also auch a trabajo. Mit el Setzen bin Yo auch ya algo más.
El Größe uno speziellen ACE hängt de el Größe des enthaltenen SIDs de.
Ein SID scheint siempre mindestens 8 Bytes (una LUID) groß a ser. El größe uno SIDs dürfte se bastante simplemente con LookupAccountName ermitteln dejar. So langsam Será mejor que te va qué...
Yo voluntad sólo wohl el Größen aller enthaltenen ACEs bestimmen necesario. Erst entonces kann Yo, el neuen ACL dimensionieren y inicializar => el se una Heidenarbeit!
El Proc se entonces así aussehen, daß uno como Parámetro bajo anderem angeben muß, si el ya vorhandenen ACEs obtener bleiben oder gelöscht voluntad debería. Neue Rechte könne así simplemente se instalará. |
| | | | |
| | CB | Fein, super! Soll Yo Su letztes File bajo NT auch testen oder en el nächste Versión warten?
Christian |
| | | | |
| | | | - Página 7 - |
| | | ¡Hola Christian...
Nein, NT muß no mehr ser. |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 6 subscriber: |