Comprend | | | |  | Télécharger plus unten! allô Profaner...
qui Include mets qui chez NTFS-Partitionen vorhandenen Zugriffsrechte (DACL) einer Dossier ou bien eines Ordners sur beliebige User, Gruppen et Werte. Besonders important ist ca chez qui Entwicklung de Datenbanken, qui sur Mehrbenutzersystemen courir. optionnel gibt es aussi qui Possibilité, une Logdatei avec den Ergebnissen qui APIs qui enthaltenen Funktionen trop erstellen. tout autor, si überhaupt Zugriffsrechte gesetzt volonté peut, kümmert sich qui Include par qui API GetVolumeInformation selbst. ici wird mais nür verwertet, si qui Zugriff einschränkbar ist, pas um quelle Partition es sich handelt! si qui Include sur anderen Betriebssystemen comme sur Windows courir soll, doit ca peut-être. avec attentive volonté.
qui Include contient 2 Prozeduren:
Get_Group_Name (3 paramètre) => Ermittelt sur den SID den richtigen Gruppennamen qui chacun-Gruppe ou bien qui Administratoren-Gruppe. dans @$(0) wird qui ermittelte Gruppenname retour.
Set_ACE_IN_DACL (6 paramètre) => Verbietet ou bien erlaubt Zugriffe de certain Usern ou bien Gruppen sur Fichiers ou bien Dossier.
qui Procédure Get_Group_Name:
1.paramètre: chacun ou bien Administratoren, je pour dem, welchen Gruppennamen on nécessaire.
2.paramètre: numéro einer avec Assign zugewiesenen et vorhandenen Dossier zum Erzeugen eines Logs, 0 si aucun Logdatei erstellt volonté soll
3.paramètre: Aktuelle Eintragsnummer des Logs (Steht am Ende dans Log_Einträge&)
qui Procédure Set_ACE_IN_DACL:
1.paramètre: Dossier- ou bien Ordnername
2.paramètre: Username ou bien Gruppe, sur qui sich qui Zugriffsrechte beziehen.
3.paramètre: +;-;0 (-=Rechte prohiber, +=Rechte erlauben, 0=alles vorhandene effacer)
4.paramètre: Flags comme String Mögliche Flags - FILE_READ_DATA (Erlaubt données aus einem File trop lesen) - FILE_WRITE_DATA (Erlaubt données trop Scheiben) - FILE_APPEND_DATA (Erlaubt données anzuhängen) - FILE_READ_EA (Erlaubt Avancé Attibute trop lesen) - FILE_WRITE_EA (Erlaubt Avancé Attribute trop écrivons) - FILE_EXECUTE (Erlaubt une Dossier auszuführen) - FILE_READ_ATTRIBUTES (Lesen qui Fileattribute) - FILE_WRITE_ATTRIBUTES (Changement qui Fileattribute) - WRITE_DAC (Changement qui DACL Einträge) - READ_CONTROL (Lesen qui DACL Einträge et Besitzer) - SYNCHRONIZE (Erlaubt einem FileHandle sur un Complitition I/O trop attendre) - File_Delete_CHILD (Erlaubt une Unterordner trop effacer - pour Fichiers aucun signification) - ACCESS_SYSTEM_SECURITY (Erlaubt den Zugriff sur den SACL) - WRITE_OWNER (propriétaire changement) - F_DELETE (Dossier effacer)
5.paramètre: Numer einer avec Assign zugewiesenen Dossier zum Erzeugen eines Logs, 0 si aucun Logdatei erstellt volonté soll
6.paramètre: Aktuelle Eintragsnummer des Logs (Steht am Ende dans Log_Einträge&)
Beispiel pour cela Einbauen qui Include:
$I DACL_SET.INC
Déclarer Dossier$
Assign #1,"C:FILE_TEST.TXT"
REWRITE #1
Fermer #1
LET DATEI$=@LoadFile$("Datei auswählen","*.*")
Get_Group_Name "Jeder",1,LOG_EINTRÄGE&
Set_ACE_IN_DACL Dossier$,@$(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 Dossier$,@$(0),"-","F_DELETE",1,LOG_EINTRÄGE&
Get_Group_Name "Administratoren",1,LOG_EINTRÄGE&
Set_ACE_IN_DACL Dossier$,@$(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)
|
| | | | |
| |  | attention! chaque Zugriffsrecht, cela einer Gruppe ou bien einem User pas erlaubt wurde, wird diesem User automatisch verweigert. chaque droite, cela einer Gruppe interdit wird, wird sur jeden le cas chaque User interdit, qui Mitglied dans cette Gruppe ist (jusqu'à sur den propriétaire naturellement). Verbote avons toujours Vorrang avant Erlaubnissen. Hat z.B. User X dans qui Gruppe Hauptbenutzer qui Erlaubnis une Dossier trop effacer et wird ihm cela Effacer dans qui Gruppe chacun interdit, so peux User X qui besagte Dossier pas effacer! avec wirklichen interdit sollte c'est pourquoi toujours très sorgsam umgegangen volonté et Verbote devrait possible besser par cela pas erlauben de Zugriffen realisiert volonté! |
| | | | |
| |  | Im neuen Télécharger sous diesem Posting peut eh bien GENERIC Rechte dans ses spezifischen Rechte gemappt volonté. qui Procédure, qui en supplément zur Disposition steht, est
Map_GENERIC. cet Procédure wandelt un GENERIC droite dans qui entsprechenden spezifischen Rechte um et gibt ca comme String zurück. cette String peux direct à qui Procédure Set_ACE_IN_DACL transfert volonté.
1.paramètre: GENERIC Rechte comme String=> GENERIC_READ GENERIC_WRITE GENERIC_EXECUTE GENERIC_ALL
2.paramètre: numéro einer avec Assign zugewiesenen et vorhandenen Dossier zum Erzeugen eines Logs, 0 si aucun Logdatei erstellt volonté soll
3.paramètre: Aktuelle Eintragsnummer des Logs (Steht am Ende dans Log_Einträge&)
veux espérer, cela alles klappt.
Beispiel: KompilierenMarqueSéparation $I DACL_SET.INC
Declare MY_FILE$,MY_RIGHTS$,MY_NAME$
*** LogDatei erzeugen ***
ASSIGN #1,"C:DACL.TXT"
REWRITE #1
Close #1
*** Datei auswählen ***
LET MY_FILE$=@LOADFILE$("Bitte Datei zum Ändern der Zugriffsrechte auswähle","*.*")
*** Zugriffsrechte neu festlegen ***
Map_GENERIC "GENERIC_ALL",1,LOG_EINTRÄGE& 1.Schritt: GENERIC Rechte in spezifische Rechte umwandeln (alle Rechte)
LET MY_RIGHTS$=@$(0)
GetCurrentUser 1,LOG_EINTRÄGE& 2.Schritt: "Current User" ermitteln...
LET MY_NAME$=@$(0)
Set_ACE_IN_DACL MY_FILE$,MY_NAME$,"+0",MY_RIGHTS$,1,LOG_EINTRÄGE& 3.Schritt: Rechte des aktuellen Users auf Vollzugriff ändern - sonstige, in der Datei vorhandene Rechte, löschen.
Map_GENERIC "GENERIC_READ",1,LOG_EINTRÄGE& 1.Schritt: GENERIC Rechte in spezifische Rechte umwandeln (Leserecht)
LET MY_RIGHTS$=@$(0)
GET_Group_Name "Jeder",1,LOG_EINTRÄGE& 2.Schritt: "Gruppennamen von "Jeder" ermitteln...
LET MY_NAME$=@$(0)
Set_ACE_IN_DACL MY_FILE$,MY_NAME$,"+",MY_RIGHTS$,1,LOG_EINTRÄGE& 3.Schritt: Rechte jedes Users Users auf vollen Lesezugriff ändern - sonstige, in der Datei vorhandene Rechte, beibehalten.
@ShellExec("C:DACL.TXT","open",1s=s2>)
|
 | 7 kB | | Kurzbeschreibung: | Include zum mettons de Dateizugriffsrechten Version 4 | | Hochgeladen: | 09.07.2005 | | Downloadcounter: |  | | | Download |
| | | | |
| |  | Es hat sich einiges geändert: - qui Procédure MAP_GENERIC gibt es pas plus. GENERIC Rechte volonté eh bien direct gemappt. - qui Funktion SET_ACE_IN_DACL gibt es pas plus, vous wurde par folgende Funktion ersetzt:
SET_FILE_ACE_IN_DACL SET_FILE_ACE_IN_DACL mets den SecurityDescriptor einer Dossier ou bien eines Ordners sur NTFS-Partitionen. - Zugänglichmachen de Fichiers et Ordnern pour alle User (z.B. Datenbanken dans Mehrbenutzerprogrammen) - Fichiers erzeugen, qui seulement pour einzelne User sichtbar et änderbar sommes. - ...
Desweiteren gibt es maintenant:
SET_REGISTRY_ACE_IN_DACL - Erzeugen de Registryschlüsseln, qui pas sans weiteres trop éditer sommes. - Erzeugen de Registryschlüsseln, qui pas sans weiteres de chaque trop lesen sommes. - Erzeugen de unsichtbaren Registryschlüssel, qui seulement de einem Systemservice gelesen et beschrieben volonté peut. - ....
SET_PROCESS_ACE_IN_DACL - Verhindern, qui autre Prozesse den eigenen Prozess sans weiteres ausschalten peut. - Erzeugung eines Serviceprogrammes, cela seulement vom System finissez volonté peux. - Verhindern, sofern sur une Remote-Fil un anderer Prozess avec meinen Rechten travailler peux. - ...
Documentation qui Prozeduren ist im Télécharger enthalten (veux espérer, qui alles allez).  |
 | | | | |
| |  | Neue Version: le vide DACEs (d.h. sans Zugriffsrechtsflags) volonté eh bien im Security-Descriptor automatisch gelöscht. hérédité wird encore pas soutenu. |
 | 27 kB | | Kurzbeschreibung: | Zugriffsrechte de Objekten mettons, Version 6.1 | | Hochgeladen: | 16.12.2005 | | Downloadcounter: |  | | | Download |
| | | | |
| |  | dessus kleines Update gemacht, hatte chez den Prozesse qui Deklaration einer Variablen oublier qc. Habe qui anderen Comprend zur Security avec dazugepackt.
Viel Amusement avec dem Code...
Salut
AH  |
| | | | |
| |  | Werde mich comme prochain à Einbindung qui hérédité kümmern. là es là aussi sur qui richtige Sortierung et cela auslesen des Headers des Security-Descriptors ankommt (dans qui WIN32.HLP pas dokumentiert), ist le reste une ganze la quantité travail. Sollte je avant Ende des Jahres pas fertigwerden, werde je versuchen, qui Dossier la fois de irgendwo anders aus trop posten.
PS: cela Erstellen komplett neuer ACLs z.B. pour eigene Fichiers et Registryschlüssel (paramètre 0) et cela Hinzufügen de ACEs im Prozeßbereich funktioniert déjà parfait - zum hinzufügen de ACEs trop vorhandenen ACLs dans qui Registry et im Dateisystem serait je qui l'affaire so mais encore pas verwenden. |
| | | | |
| |  | Neue Version: 1.) hérédité wird soutenu. 2.) Automatique hérédité wird soutenu. 3.) Sortierreihenfolge qui ACEs wurde sur Windows2000/XP Standard ajusté. 4.) Include wurde sur ca. un fünftel qui vorherigen Taille gekürzt. |
 | 24 kB | | Kurzbeschreibung: | Comprend zum mettons de Zugriffsrechten dans einem Security-Descriptor Version 7 | | Hochgeladen: | 20.12.2005 | | Downloadcounter: |  | | | Download |
| | | | |
| |  | Nochmals Changement: - un Bug wurde beseitigt - Lecture ist eh bien possible: Unten Quelltextbeispiel (aucun Angst, ändert rien!)
$I DACL_SET.INC
DEF @GetSysColor(1) !"User32","GetSysColor"
DEF @GetDlgCtrlID(1) !"User32","GetDlgCtrlID"
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
Déclarer Auslesen&,Ordnername&,Ordnername$,ACE_MERKER&,Rechte_ART&,Select$
Déclarer 1&,2&,4&,8&,10&,20&,40&,80&,100&,10000&,20000&,40000&,80000&,100000&,20000000&,40000000&,80000000&,10000000&
Déclarer Beschränkter&,Ererbt&,Vererbungsart&,AUSWAHL$
Déclarer Vererbungsart&,Vererbt&,Username&,Automatische_Vererbung&,Block&,EIGENTÜMER&,ACE_NUMMER&
Déclarer Gewählter_ACE$,USERS$,Gültig&
Déclarer Text#,Tool#,Tool&
dim Text#,262
dim Tool#,40
Windowstyle 31+512
Windowtitle «Les droits einer Dossier auslesen"
Fenêtre 0,0-640,440
SETTRUECOLOR 1
CLS @GETSYSCOLOR(15)
USERMESSAGES $10
Usefont Arial,17,5,1,0,0
SetDialogFont %FONT
LET Ordnername&=@Contrôle("STATIC","Kein Dossier 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&=@Contrôle("STATIC",»,$40000000+$10000000+$1000,440,30,150,20,%HWND,5002,%HINSTANCE)
@Createtext(%HWND,"ACE auswählen:",300,65,100,25)
LET ACE_NUMMER&=@Contrôle("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 pas gelesen werden")
LET Vererbungsart&=@CREATECHOICEBOX(%HWND,»,350,120,205,100)
@AddChoice(Vererbungsart&,"Keine Vererbung")
@AddChoice(Vererbungsart&,"Vererbung à Dateien")
@AddChoice(Vererbungsart&,"Vererbung à Unterordner")
@AddChoice(Vererbungsart&,"Vererbung à Fichiers et Unterordner")
LET gültig&=@CREATECHOICEBOX(%HWND,»,350,150,245,100)
@AddChoice(gültig&,"Gültig pour aktuellen Ordner")
@AddChoice(gültig&,"Gültig seulement pour Kindobjekte")
Laisser 1&=@CreateCheckBox(%HWND,"Unterordner listen",5,125,120,25)
Laisser 2&=@CreateCheckBox(%HWND,"Dateien erstellen",5,150,120,25)
Laisser 4&=@CreateCheckBox(%HWND,"Ordner erstellen",5,175,120,25)
Laisser 8&=@CreateCheckBox(%HWND,"Erweiterte Attribute lesen",5,200,150,25)
Laisser 10&=@CreateCheckBox(%HWND,"Erweiterte Attribute schreiben",5,225,150,25)
Laisser 20&=@CreateCheckBox(%HWND,"Ordner durchsuchen",5,250,150,25)
Laisser 40&=@CreateCheckBox(%HWND,"Unterordner löschen",5,275,150,25)
Laisser 80&=@CreateCheckBox(%HWND,"Attribute lesen",5,300,150,25)
Laisser 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 droite zum fouiller/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 ------Taille qui TOOLINFO-Struktur
long Tool#,4=17 ------Flags
long Tool#,36=Text# --Bereichsvariable avec String
String Text#,0="Ordner choisir et ici une ACE auswählen, alles autre so laisser!!!" ---Text des 1.Tooltips
long Tool#,12=ACE_NUMMER&
@SendMessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
String Text#,0="Hier une Dossier choisir et ensuite ACE auswahlen, alles autre so laisser!!!" ---Text des 1.Tooltips
long Tool#,12=Auslesen&
@SendMessage(Tool&,1028,0,Tool#) ------Tipp initialisieren
Dispose Text#
Dispose Tool#
@SetFocus(%HWND)
Tandis que %UMESSAGE<>$10
Waitinput
IF @ButtonClicked(Auslesen&)
LET Ordnername$=@ChooseDir$("Bitte Dossier zum Lecture qui 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
d'autre
SetCheck Automatische_Vererbung&,0
endif
IF @VAL(ACE$[0,0]) | $1000 = @VAL(ACE$[0,0])
SetCheck Block&,1
d'autre
SetCheck Block&,0
endif
LET ACE_MERKER&=1
Tandis que @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 pas alle ACEs ausgelesen volonté!","ACE-Array trop petite 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"
Laisser Select$="Erlaubnis"
Elseif ACE$[ACE_MERKER&,1]="1"
Laisser Select$="Verbot"
D'autre
Laisser Select$="Konnte pas gelesen werden"
endif
@SENDMESSAGE(Rechte_ART&,$14E,@SendMessage(Rechte_ART&,$158,-1,@ADDR(Select$)),0)
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$1)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 1&,1
d'autre
Setcheck 1&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$2)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 2&,1
d'autre
Setcheck 2&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$4)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 4&,1
d'autre
Setcheck 4&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$8)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 8&,1
d'autre
Setcheck 8&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$10)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 10&,1
d'autre
Setcheck 10&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$20)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 20&,1
d'autre
Setcheck 20&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$40)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 40&,1
d'autre
Setcheck 40&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$80)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 80&,1
d'autre
Setcheck 80&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$100)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 100&,1
d'autre
Setcheck 100&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$10000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 10000&,1
d'autre
Setcheck 10000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$20000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 20000&,1
d'autre
Setcheck 20000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$40000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 40000&,1
d'autre
Setcheck 40000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$80000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 80000&,1
d'autre
Setcheck 80000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$100000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 100000&,1
d'autre
Setcheck 100000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$10000000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 10000000&,1
d'autre
Setcheck 10000000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$20000000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 20000000&,1
d'autre
Setcheck 20000000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$40000000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 40000000&,1
d'autre
Setcheck 40000000&,0
endif
IF @OU(@VAL(ACE$[ACE_MERKER&,4]),$80000000)=@VAL(ACE$[ACE_MERKER&,4])
Setcheck 80000000&,1
d'autre
Setcheck 80000000&,0
endif
IF @VAL(ACE$[ACE_MERKER&,2]) | $10 = @VAL(ACE$[ACE_MERKER&,2])
Settext Ererbt&,«Les droits sommes ererbt"
d'autre
Settext Ererbt&,«Les droits sommes pas ererbt"
endif
IF @VAL(ACE$[ACE_MERKER&,2]) | $3 = @VAL(ACE$[ACE_MERKER&,2])
LET AUSWAHL$="Vererbung à Fichiers et Unterordner"
Elseif @VAL(ACE$[ACE_MERKER&,2]) | $1 = @VAL(ACE$[ACE_MERKER&,2])
LET AUSWAHL$="Vererbung à Dateien"
Elseif @VAL(ACE$[ACE_MERKER&,2]) | $2 = @VAL(ACE$[ACE_MERKER&,2])
LET AUSWAHL$="Vererbung à Unterordner"
D'autre
LET AUSWAHL$="Keine Vererbung"
endif
@SENDMESSAGE(Vererbungsart&,$14E,@SendMessage(Vererbungsart&,$158,-1,@ADDR(sélection$)),0)
IF @VAL(ACE$[ACE_MERKER&,2]) | $8 = @VAL(ACE$[ACE_MERKER&,2])
LET AUSWAHL$="Gültig seulement pour Kindobjekte"
D'autre
LET AUSWAHL$="Gültig pour aktuellen Ordner"
endif
@SENDMESSAGE(Gültig&,$14E,@SendMessage(Gültig&,$158,-1,@ADDR(sélection$)),0)
endif
Wend
Viel Amusement avec cela, mais seulement neue Version herunterladen!  |
 | 31 kB | | Kurzbeschreibung: | Zugriffsrechte de Objekten mettons, Version 8.3 | | Hochgeladen: | 25.12.2005 | | Downloadcounter: |  | | | Download |
| | | | |
| |  | Habe mir beim Einbau qui automatischen hérédité une entier dicken Bug incorporé (rechte wurde toujours ererbt, aussi si cela im original pas so eingestellt était). je veux espérer, cela qui faute maintenant beseitigt ist. Habe une Beitrag plus dessus un Update gemacht. comment on im Beispiel dessus déjà voyons peux, ist pour qui Zukunft aussi cela Abspeichern des ACE Arrays et avec cela cela éditer de Rechten avec qui DACL_SET.INC geplant.
qui Einbau des Setzens de Token-Zugriffsrechten ist également encore geplannt. Threads volonté aussi venons. |
| | | | |
| |  | Nochmals Update gemacht (Version 8.2) et 2 Probleme beseitigt:
1.) paramètre U funzte pas (falschen Flag angegeben) 2.) CreateFile nécessaire anscheinend toujours cela Zugriffsrecht SYNCRONIZE. Es reichen qui Rechte WRITE_DAC et READ_CONTROL alors zum conservé eines Filehandles pas aus. cela est im Klartext: quoique on propriétaire eines Objektes ist, peux on avec SetSecurityInfo qui Zugriffsrechte pas changement, si on cela droite SYNCRONIZE pas zusätzlich besitzt. alors => neue APIs Ge-/SetNamedSecurityInfo wurde incorporé, ensuite gehts chez Fichiers avec moins Rechten... |
| | | | |
| |  Michael Wodrich | Télécharger klappt pas... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 25.12.2005 ▲ |
| |
|
répondreOptions du sujet | 10.694 Views |
Themeninformationencet Thema hat 2 participant: |