Includes | | | | - Seite 1 - |
| | Download weiter unten! Hallo Profaner...
Die Include setzt die bei NTFS-Partitionen vorhandenen Zugriffsrechte (DACL) einer Datei 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 über 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 Dateien oder Ordner.
Die Prozedur Get_Group_Name: 1.Parameter: Jeder oder Administratoren, je nach dem, welchen Gruppennamen man benötigt. 2.Parameter: Nummer einer mit Assign zugewiesenen und vorhandenen Datei 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: Datei- 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 Datei auszuführen) - FILE_READ_ATTRIBUTES (Lesen der Fileattribute) - FILE_WRITE_ATTRIBUTES (Ändern der Fileattribute) - WRITE_DAC (Ändern der DACL Einträge) - READ_CONTROL (Lesen der DACL Einträge und Besitzer) - SYNCHRONIZE (Erlaubt einem FileHandle auf ein Complitition I/O zu warten) - File_Delete_CHILD (Erlaubt einen Unterordner zu löschen - für Dateien keine Bedeutung) - ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff auf den SACL) - WRITE_OWNER (Eigentümer ändern) - F_DELETE (Datei löschen) 5.Parameter: Numer einer mit Assign zugewiesenen Datei 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 für das Einbauen der Include:
$I DACL_SET.INC
Declare Datei$
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 Datei$,@$(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 Datei$,@$(0),"-","F_DELETE",1,LOG_EINTRÄGE&
Get_Group_Name "Administratoren",1,LOG_EINTRÄGE&
Set_ACE_IN_DACL Datei$,@$(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)
|
| | | | |
| | | | | - Seite 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 Datei mal von irgendwo anders aus zu posten.
PS: Das Erstellen komplett neuer ACLs z.B. für eigene Dateien 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. |
| | | | |
| | | Neue Version: 1.) Vererbung wird unterstützt. 2.) Automatische Vererbung wird unterstützt. 3.) Sortierreihenfolge der ACEs wurde auf Windows2000/XP Standard angepaßt. 4.) Include wurde auf ca. ein fünftel der vorherigen Größe gekürzt. |
| 24 kB | | Kurzbeschreibung: | Includes zum Setzen von Zugriffsrechten in einem Security-Descriptor Version 7 | | Hochgeladen: | 20.12.2005 | | Ladeanzahl: | | | | Herunterladen |
| | | | |
| | | Nochmals Änderung: - Ein Bug wurde beseitigt - Auslesen ist nun möglich: 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 Datei 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 Dateien und Unterordner")
LET gültig&=@CREATECHOICEBOX(%HWND,"",350,150,245,100)
@AddChoice(gültig&,"Gültig für aktuellen Ordner")
@AddChoice(gültig&,"Gültig nur für 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 ------Größe 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 Dateien 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 für Kindobjekte"
Else
LET AUSWAHL$="Gültig für aktuellen Ordner"
endif
@SENDMESSAGE(Gültig&,$14E,@Sendmessage(Gültig&,$158,-1,@ADDR(Auswahl$)),0)
endif
wend
Viel Spaß damit, aber erst neue Version herunterladen! |
| 31 kB | | Kurzbeschreibung: | Zugriffsrechte von Objekten setzen, Version 8.3 | | Hochgeladen: | 25.12.2005 | | Ladeanzahl: | | | | Herunterladen |
| | | | |
| | | 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 für 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. |
| | | | |
| | | Nochmals Update gemacht (Version 8.2) und 2 Probleme beseitigt:
1.) Parameter U funzte nicht (falschen Flag angegeben) 2.) CreateFile benötigt anscheinend immer das Zugriffsrecht SYNCRONIZE. Es reichen die Rechte WRITE_DAC und READ_CONTROL also zum Erhalten eines Filehandles nicht aus. Das heißt 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 Dateien mit weniger Rechten... |
| | | | |
| | Michael Wodrich | | | | Programmieren, das spannendste Detektivspiel der Welt. | 25.12.2005 ▲ |
| |
| | | | - Seite 2 - |
| | | | | | | |
| | | 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 für 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. |
| | | | |
| | Michael Wodrich | Ja, Download klappt wieder. |
| | | 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) Includes zum Setzen von Zugriffsrechten in einem Security-Descriptor Versi | | Hochgeladen: | 28.12.2005 | | Ladeanzahl: | | | | Herunterladen |
| | | | |
| | | 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 könnte. 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 natürlich 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 | | Ladeanzahl: | | | | Herunterladen |
| | | | |
| | |
| | | | |
|
AntwortenThemenoptionen | 9.905 Betrachtungen |
ThemeninformationenDieses Thema hat 2 Teilnehmer: |