Italia
Include

Zugriffsrechte einer File setzen

 
- Page 1 -


Download weiter unten!
Hallo Profaner...

Die Include setzt die bei NTFS-Partitionen vorhandenen Zugriffsrechte (DACL) einer File oder eines Ordners auf beliebige User, Gruppen und Werte. Besonders wichtig ist dies bei der Entwicklung von Datenbanken, die auf Mehrbenutzersystemen laufen. Optional gibt es auch die Möglichkeit, eine Logdatei mit den Ergebnissen der APIs der enthaltenen Funktionen zu erstellen.
Darum, ob überhaupt Zugriffsrechte gesetzt werden können, kümmert sich die Include durch die API GetVolumeInformation selbst. Hier wird aber nür verwertet, ob der Zugriff einschränkbar ist, nicht um welche Partition es sich handelt! Wenn die Include auf anderen Betriebssystemen als auf Windows laufen soll, muß dies evtl. mit bedacht werden.

Die Include enthält 2 Prozeduren:
Get_Group_Name (3 Parameter) => Ermittelt circa den SID den richtigen Gruppennamen der Jeder-Gruppe oder der Administratoren-Gruppe. In @$(0) wird der ermittelte Gruppenname zurückgegeben.
Set_ACE_IN_DACL (6 Parameter) => Verbietet oder erlaubt Zugriffe von bestimmten Usern oder Gruppen auf File oder Ordner.

Die Prozedur Get_Group_Name:
1.Parameter: Jeder oder Administratoren, je nach dem, welchen Gruppennamen man necessario.
2.Parameter: Nummer einer mit Assign zugewiesenen und vorhandenen File zum Erzeugen eines Logs, 0 wenn keine Logdatei erstellt werden soll
3.Parameter: Aktuelle Eintragsnummer des Logs (Steht am Ende in Log_Einträge&)

Die Prozedur Set_ACE_IN_DACL:
1.Parameter: File- oder Ordnername
2.Parameter: Username oder Gruppe, auf die sich die Zugriffsrechte beziehen.
3.Parameter: +;-;0 (-=Rechte verbieten, +=Rechte erlauben, 0=alles vorhandene löschen)
4.Parameter: Flags als String
Mögliche Flags
- FILE_READ_DATA (Erlaubt Daten aus einem File zu lesen)
- FILE_WRITE_DATA (Erlaubt Daten zu Scheiben)
- FILE_APPEND_DATA (Erlaubt Daten anzuhängen)
- FILE_READ_EA (Erlaubt erweiterte Attibute zu lesen)
- FILE_WRITE_EA (Erlaubt erweiterte Attribute zu schreiben)
- FILE_EXECUTE (Erlaubt eine File auszuführen)
- FILE_READ_ATTRIBUTES (Lesen der Fileattribute)
- FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute)
- WRITE_DAC (Ändern der DACL Einträge)
- READ_CONTROL (Lesen der DACL Einträge und Besitzer)
- SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten)
- File_Delete_CHILD (Erlaubt einen Unterordner zu löschen - per File keine Bedeutung)
- ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL)
- WRITE_OWNER (Eigentümer ändern)
- F_DELETE (File löschen)
5.Parameter: Numer einer mit Assign zugewiesenen File zum Erzeugen eines Logs, 0 wenn keine Logdatei erstellt werden soll
6.Parameter: Aktuelle Eintragsnummer des Logs (Steht am Ende in Log_Einträge&)

Beispiel per das Einbauen der Include:
 $I DACL_SET.INC
Declare File$
Assign #1,"C:FILE_TEST.TXT"
REWRITE #1
Close #1
LET DATEI$=@LoadFile$("Datei auswählen","*.*")
Get_Group_Name "Jeder",1,LOG_EINTRÄGE&
Set_ACE_IN_DACL File$,@$(0),"+0","SYNCHRONIZE FILE_WRITE_EA FILE_READ_EA FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_EXECUTE FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES F_DELETE",1,LOG_EINTRÄGE&
Get_Group_Name "Jeder",1,LOG_EINTRÄGE&
Set_ACE_IN_DACL File$,@$(0),"-","F_DELETE",1,LOG_EINTRÄGE&
Get_Group_Name "Administratoren",1,LOG_EINTRÄGE&
Set_ACE_IN_DACL File$,@$(0),"+","FILE_DELETE_CHILD,READ_CONTROL,ACCESS_SYSTEM_SECURITY,WRITE_OWNER,WRITE_DAC,F_DELETE,SYNCHRONIZE,FILE_WRITE_EA,FILE_READ_EA,FILE_READ_DATA,FILE_WRITE_DATA,FILE_APPEND_DATA,FILE_EXECUTE,FILE_READ_ATTRIBUTES,FILE_WRITE_ATTRIBUTES,F_DELETE",1,LOG_EINTRÄGE&
@ShellExec("C:FILE_TEST.TXT","open",1)
 
28.05.2005  
 



 
- Page 1 -


Werde mich als nächste um die Einbindung der Vererbung kümmern. Da es da auch auf die richtige Sortierung und das auslesen des Headers des Security-Descriptors ankommt (in der WIN32.HLP nicht dokumentiert), ist das noch eine ganze Menge Arbeit. Sollte ich vor Ende des Jahres nicht fertigwerden, werde ich versuchen, die File mal von irgendwo anders aus zu posten.

PS: Das Erstellen komplett neuer ACLs z.B. per eigene File und Registryschlüssel (Parameter 0) und das Hinzufügen von ACEs im Prozeßbereich funktioniert schon perfekt - zum hinzufügen von ACEs zu vorhandenen ACLs in der Registry und im Dateisystem würde ich die Sache so aber noch nicht verwenden.
 
17.12.2005  
 



Neue Version:
1.) Vererbung wird supportati.
2.) Automatische Vererbung wird supportati.
3.) Sortierreihenfolge der ACEs wurde auf Windows2000/XP Standard angepaßt.
4.) Include wurde auf ca. ein fünftel der vorherigen Dimensione gekürzt.

24 kB
Kurzbeschreibung: Include zum Setzen von Zugriffsrechten in einem Security-Descriptor Version 7
Hochgeladen:20.12.2005
Downloadcounter163
Download
 
20.12.2005  
 



Nochmals Cambiamento:
- Ein Bug wurde beseitigt
- Auslesen ist nun possibile:
Unten Quelltextbeispiel (keine Angst, ändert nichts!)
 $I DACL_SET.INC
DEF @GetSysColor(1) !"USER32","GetSysColor"
DEF @GetDlgCtrlID(1) !"USER32","GetDlgCtrlID"
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
Declare Auslesen&,Ordnername&,Ordnername$,ACE_MERKER&,Rechte_ART&,Select$
Declare 1&,2&,4&,8&,10&,20&,40&,80&,100&,10000&,20000&,40000&,80000&,100000&,20000000&,40000000&,80000000&,10000000&
Declare Beschränkter&,Ererbt&,Vererbungsart&,AUSWAHL$
Declare Vererbungsart&,Vererbt&,Username&,Automatische_Vererbung&,Block&,EIGENTÜMER&,ACE_NUMMER&
Declare Gewählter_ACE$,USERS$,Gültig&
Declare Text#,Tool#,Tool&
dim Text#,262
dim Tool#,40
Windowstyle 31+512
Windowtitle "Rechte einer File auslesen"
Window 0,0-640,440
SETTRUECOLOR 1
CLS @GETSYSCOLOR(15)
USERMESSAGES $10
Usefont "Arial",17,5,1,0,0
SetDialogFont  %FONT
LET Ordnername&=@Control("STATIC","Kein Ordner ausgewählt!",$40000000+$10000000+$1000,110,5,505,20,%HWND,5000,%HINSTANCE)
LET Auslesen&=@CREATEBUTTON(%HWND,"Ordner wählen",5,5,100,25)
@Createtext(%HWND,"Eigentümer:",5,65,60,25)
LET EIGENTÜMER&=@CREATECHOICEBOX(%HWND,"",70,60,150,100)
LET Automatische_Vererbung&=@CreateCheckBox(%HWND,"Vererbbare Rechte automatisch weitergeben",5,30,300,25)
LET Block&=@CreateCheckBox(%HWND,"Vererbung abblocken",305,30,120,25)
LET Ererbt&=@Control("STATIC","",$40000000+$10000000+$1000,440,30,150,20,%HWND,5002,%HINSTANCE)
@Createtext(%HWND,"ACE auswählen:",300,65,100,25)
LET ACE_NUMMER&=@Control("ComboBox","",$40000000+$10000000+$200000+$100000+$3+$200,380,60,90,200,%HWND,5001,%HINSTANCE)
@Createtext(%HWND,"User/Gruppe:",5,95,70,25)
LET Beschränkter&=@CREATECHOICEBOX(%HWND,"",75,90,150,100)
@Createtext(%HWND,"Art des Rechtes:",250,95,100,25)
LET Rechte_ART&=@CREATECHOICEBOX(%HWND,"",350,90,150,100)
@AddChoice(Rechte_ART&,"Erlaubnis")
@AddChoice(Rechte_ART&,"Verbot")
@AddChoice(Rechte_ART&,"Konnte nicht gelesen werden")
LET Vererbungsart&=@CREATECHOICEBOX(%HWND,"",350,120,205,100)
@AddChoice(Vererbungsart&,"Keine Vererbung")
@AddChoice(Vererbungsart&,"Vererbung an Dateien")
@AddChoice(Vererbungsart&,"Vererbung an Unterordner")
@AddChoice(Vererbungsart&,"Vererbung an File und Unterordner")
LET gültig&=@CREATECHOICEBOX(%HWND,"",350,150,245,100)
@AddChoice(gültig&,"Gültig per aktuellen Ordner")
@AddChoice(gültig&,"Gültig nur per Kindobjekte")
Let 1&=@CreateCheckBox(%HWND,"Unterordner listen",5,125,120,25)
Let 2&=@CreateCheckBox(%HWND,"Dateien erstellen",5,150,120,25)
Let 4&=@CreateCheckBox(%HWND,"Ordner erstellen",5,175,120,25)
Let 8&=@CreateCheckBox(%HWND,"Erweiterte Attribute lesen",5,200,150,25)
Let 10&=@CreateCheckBox(%HWND,"Erweiterte Attribute schreiben",5,225,150,25)
Let 20&=@CreateCheckBox(%HWND,"Ordner durchsuchen",5,250,150,25)
Let 40&=@CreateCheckBox(%HWND,"Unterordner löschen",5,275,150,25)
Let 80&=@CreateCheckBox(%HWND,"Attribute lesen",5,300,150,25)
Let 100&=@CreateCheckBox(%HWND,"Attribute schreiben",5,325,150,25)
LET 10000&=@CreateCheckBox(%HWND,"Ordner löschen",200,125,120,25)
LET 20000&=@CreateCheckBox(%HWND,"Zugriffsrechte lesen",200,150,150,25)
LET 40000&=@CreateCheckBox(%HWND,"Zugriffsrechte schreiben",200,175,150,25)
LET 80000&=@CreateCheckBox(%HWND,"Eigentümer ändern",200,200,200,25)
LET 100000&=@CreateCheckBox(%HWND,"Auf Rückgabe des Handles warten",200,225,200,25)
LET 80000000&=@CreateCheckBox(%HWND,"Vererbtes generelles Leserecht",200,275,200,25)
LET 40000000&=@CreateCheckBox(%HWND,"Vererbtes generelles Schreibrecht",200,300,200,25)
LET 20000000&=@CreateCheckBox(%HWND,"Vererbtes generelles Recht zum Durchsuchen/Ausführen",200,325,290,25)
LET 10000000&=@CreateCheckBox(%HWND,"Vererbter genereller Vollzugriff",200,350,200,25)
LET Tool&=@control("tooltips_class32","",$d0000000,0,0,0,0,%HWND,0,%hinstance)
long Tool#,0=40 ------Dimensione der TOOLINFO-Struktur
long Tool#,4=17 ------Flags
long Tool#,36=Text# --Bereichsvariable mit String
String Text#,0="Ordner wählen und hier einen ACE auswählen, alles andere so lassen!!!" ---Text des 1.Tooltips
long Tool#,12=ACE_NUMMER&
@Sendmessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
String Text#,0="Hier einen Ordner wählen und dann ACE auswahlen, alles andere so lassen!!!" ---Text des 1.Tooltips
long Tool#,12=Auslesen&
@Sendmessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
Dispose Text#
Dispose Tool#
@SetFocus(%HWND)

While %UMESSAGE<>$10

    Waitinput

    IF @ButtonClicked(Auslesen&)

        LET Ordnername$=@ChooseDir$("Bitte Ordner zum Auslesen der Rechte auswählen")

        IF @AND(@RIGHT$(Ordnername$,1)="",@LEN(Ordnername$)>3)

            LET ORDNERname$=@LEFT$(Ordnername$,@LEN(Ordnername$)-1)

        endif

        Settext Ordnername&,Ordnername$
        Set_File_ACE_IN_DACL Ordnername$,"Administrator","","WRITE_DAC",0,0
        @Sendmessage(EIGENTÜMER&,$14B,0,0)
        @AddChoice(EIGENTÜMER&,ACE$[0,1])
        @Sendmessage(EIGENTÜMER&,$14E,0,0)
        @Sendmessage(ACE_NUMMER&,$14B,0,0)

        IF @VAL(ACE$[0,0]) | $400 = @VAL(ACE$[0,0])

            SetCheck Automatische_Vererbung&,1

        else

            SetCheck Automatische_Vererbung&,0

        endif

        IF @VAL(ACE$[0,0]) | $1000 = @VAL(ACE$[0,0])

            SetCheck Block&,1

        else

            SetCheck Block&,0

        endif

        LET ACE_MERKER&=1

        While @AND(ACE_MERKER&<@VAL(ACE$[0,2])+1,ACE_MERKER&<=ACE_ARRAY_GRÖßE%)

            @AddChoice(ACE_NUMMER&,@STR$(ACE_MERKER&))
            LET ACE_MERKER&=ACE_MERKER&+1

        wend

        IF @VAL(ACE$[0,2])+1>ACE_ARRAY_GRÖßE%

            @Messagebox("Es konnten nicht alle ACEs ausgelesen werden!","ACE-Array zu klein dimensioniert!",16)

        endif

    Endif

    IF @Gettext$(ACE_NUMMER&)=""

        @Sendmessage(ACE_NUMMER&,$14E,0,0)

    endif

    IF Gewählter_ACE$<>@Gettext$(ACE_NUMMER&)

        let Gewählter_ACE$=@Gettext$(ACE_NUMMER&)
        LET ACE_MERKER&=@VAL(Gewählter_ACE$)

        IF @INSTR(ACE$[ACE_MERKER&,3]+",",USERS$)=0

            @ADDCHOICE(Beschränkter&,ACE$[ACE_MERKER&,3])
            LET USERS$=USERS$+ACE$[ACE_MERKER&,3]+","

        endif

        @SENDMESSAGE(Beschränkter&,$14E,@Sendmessage(Beschränkter&,$158,-1,@ADDR(ACE$[ACE_MERKER&,3])),0)

        IF ACE$[ACE_MERKER&,1]="0"

            Let Select$="Erlaubnis"

        Elseif ACE$[ACE_MERKER&,1]="1"

            Let Select$="Verbot"

        Else

            Let Select$="Konnte nicht gelesen werden"

        endif

        @SENDMESSAGE(Rechte_ART&,$14E,@Sendmessage(Rechte_ART&,$158,-1,@ADDR(Select$)),0)

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$1)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 1&,1

        else

            Setcheck 1&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$2)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 2&,1

        else

            Setcheck 2&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$4)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 4&,1

        else

            Setcheck 4&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$8)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 8&,1

        else

            Setcheck 8&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$10)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 10&,1

        else

            Setcheck 10&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$20)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 20&,1

        else

            Setcheck 20&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$40)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 40&,1

        else

            Setcheck 40&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$80)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 80&,1

        else

            Setcheck 80&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$100)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 100&,1

        else

            Setcheck 100&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$10000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 10000&,1

        else

            Setcheck 10000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$20000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 20000&,1

        else

            Setcheck 20000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$40000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 40000&,1

        else

            Setcheck 40000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$80000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 80000&,1

        else

            Setcheck 80000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$100000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 100000&,1

        else

            Setcheck 100000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$10000000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 10000000&,1

        else

            Setcheck 10000000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$20000000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 20000000&,1

        else

            Setcheck 20000000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$40000000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 40000000&,1

        else

            Setcheck 40000000&,0

        endif

        IF @OR(@VAL(ACE$[ACE_MERKER&,4]),$80000000)=@VAL(ACE$[ACE_MERKER&,4])

            Setcheck 80000000&,1

        else

            Setcheck 80000000&,0

        endif

        IF @VAL(ACE$[ACE_MERKER&,2]) | $10 = @VAL(ACE$[ACE_MERKER&,2])

            Settext Ererbt&,"Rechte sind ererbt"

        else

            Settext Ererbt&,"Rechte sind nicht ererbt"

        endif

        IF @VAL(ACE$[ACE_MERKER&,2]) | $3 = @VAL(ACE$[ACE_MERKER&,2])

            LET AUSWAHL$="Vererbung an File und Unterordner"

        Elseif @VAL(ACE$[ACE_MERKER&,2]) | $1 = @VAL(ACE$[ACE_MERKER&,2])

            LET AUSWAHL$="Vererbung an Dateien"

        Elseif @VAL(ACE$[ACE_MERKER&,2]) | $2 = @VAL(ACE$[ACE_MERKER&,2])

            LET AUSWAHL$="Vererbung an Unterordner"

        Else

            LET AUSWAHL$="Keine Vererbung"

        endif

        @SENDMESSAGE(Vererbungsart&,$14E,@Sendmessage(Vererbungsart&,$158,-1,@ADDR(Auswahl$)),0)

        IF @VAL(ACE$[ACE_MERKER&,2]) | $8 = @VAL(ACE$[ACE_MERKER&,2])

            LET AUSWAHL$="Gültig nur per Kindobjekte"

        Else

            LET AUSWAHL$="Gültig per aktuellen Ordner"

        endif

        @SENDMESSAGE(Gültig&,$14E,@Sendmessage(Gültig&,$158,-1,@ADDR(Auswahl$)),0)

    endif

wend


Viel Divertimento damit, aber erst neue Version herunterladen!

31 kB
Kurzbeschreibung: Zugriffsrechte von Objekten setzen, Version 8.3
Hochgeladen:25.12.2005
Downloadcounter141
Download
 
22.12.2005  
 



Habe mir beim Einbau der automatischen Vererbung einen ganz dicken Bug eingebaut (rechte wurde immer ererbt, auch wenn das im original nicht so eingestellt war). Ich will hoffen, das der Fehler jetzt beseitigt ist. Habe einen Beitrag weiter oben ein Update gemacht. Wie man im Beispiel oben schon sehen kann, ist per die Zukunft auch das Abspeichern des ACE Arrays und damit das editieren von Rechten mit der DACL_SET.INC geplant.

Der Einbau des Setzens von Token-Zugriffsrechten ist ebenfalls noch geplannt. Threads werden auch kommen.
 
23.12.2005  
 



Nochmals Update gemacht (Version 8.2) und 2 Probleme beseitigt:

1.) Parameter U funzte nicht (falschen Flag angegeben)
2.) CreateFile necessario anscheinend immer das Zugriffsrecht SYNCRONIZE. Es reichen die Rechte WRITE_DAC und READ_CONTROL also zum Erhalten eines Filehandles nicht aus. Das è im Klartext:
Obwohl man Eigentümer eines Objektes ist, kann man mit SetSecurityInfo die Zugriffsrechte nicht ändern, wenn man das Recht SYNCRONIZE nicht zusätzlich besitzt.
Also => neue APIs Ge-/SetNamedSecurityInfo wurde eingebaut, dann gehts bei File mit weniger Rechten...
 
24.12.2005  
 




Michael
Wodrich
Download klappt nicht...
 
Programmieren, das spannendste Detektivspiel der Welt.
25.12.2005  
 



 
- Page 2 -


Ich schau mal...
 
25.12.2005  
 



Scheint jetzt zu gehen. Habe einen weiteren Bug beseitigt:
Parameter 0 funktionierte nicht richtig - es wurde nur gelöscht, aber kein neuer ACE angelegt. (Ich hatte die Listboxen an der falschen Stelle gelöscht .)
Ich bastele zu Zeit noch gewaltig an der INC - ich brauche sie per einen bestimmten Zweck und muß da noch einiges einbauen. Version 9 bekommt wieder einen eigenen Download weiter unten, dann kann man später die Entwicklung besser nachvollziehen.
Aktuelle Version 8.3.
 
25.12.2005  
 




Michael
Wodrich
Ja, Download klappt wieder.

6 kB
Kurzbeschreibung: Räucherkerze
Hochgeladen:25.12.2005
Downloadcounter365
Download
 
Programmieren, das spannendste Detektivspiel der Welt.
25.12.2005  
 



Leider aus Mangel an Zeit bis zum Ende des Jahres noch nicht getestet:
Neue Möglichkeiten:
1.) Modifizierung des ACEs im Array und damit die Möglichkeit, sehr einfach einen Rechteeditor zu bauen
2.) Zugriffsrechte von Threads sind (ab Windows2000) eingebaut.

Token Zugriffsrechte kommen noch - evtl. aber erst zu Sylvester ().

32 kB
Kurzbeschreibung: DACL_SET.zip (23.9KB) Include zum Setzen von Zugriffsrechten in einem Security-Descriptor Versi
Hochgeladen:28.12.2005
Downloadcounter134
Download
 
28.12.2005  
 



Es geht dem Ende zu...
Besichtigte Bug:
- Modifizierung des ACE-Arrays funktioniert jetzt (Rechte Editor).
- Abspeicherung des ACE Arrays funktioniert jetzt (Rechte Editor).
- Zeitweilige und Systemabhängige Zugriffsverletzung beim Auslesen des String-SIDs der Beschränkten User wurde beseitigt (zu großzügig kopiert ).
- Habe an mehreren Stellen beim Mapping der Rechte Leerzeichen vergessen, was evtl. Probleme machen potuto.
Neue Funktionen:
- Zugriffsrechte von Threads können nun geändert und gelistet werden.
- Zugriffsrechte eines Tokens können geändert und gelistet werden.
- Token kann von einem Thread oder Prozess geholt werden (ThreadToken ist naturalmente nur in seltenen Fällen vorhanden).

Scheint alles prächtig zu funktionieren...

38 kB
Kurzbeschreibung: Include zum Setzen von Zugriffsrechten in einem Security-Descriptor Version 10
Hochgeladen:03.03.2006
Downloadcounter321
Download
 
31.12.2005  
 



Update:

39 kB
Kurzbeschreibung: DACL_SET.INC Version 10.9
Hochgeladen:26.03.2006
Downloadcounter165
Download
 
26.03.2006  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.691 Views

Untitledvor 0 min.
Uwe Lang17.09.2022
Rc31.01.2022
Manfred Barei20.03.2020
p.specht30.03.2017
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

unbekannt (16x)
Michael Wodrich (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie