Français
Comprend

Zugriffsrechte einer Dossier mettons

 
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)
 
28.05.2005  
 



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é!
 
29.05.2005  
 



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
Downloadcounter107
Download
 
09.07.2005  
 



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).

21 kB
Kurzbeschreibung: Version 5 DACL_SET.INC
Hochgeladen:10.09.2005
Downloadcounter93
Download
 
10.09.2005  
 



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
Downloadcounter104
Download
 
15.12.2005  
 



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
 
16.12.2005  
 



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.
 
17.12.2005  
 



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
Downloadcounter163
Download
 
20.12.2005  
 



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
Downloadcounter141
Download
 
22.12.2005  
 



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.
 
23.12.2005  
 



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...
 
24.12.2005  
 




Michael
Wodrich
Télécharger klappt pas...
 
Programmieren, das spannendste Detektivspiel der Welt.
25.12.2005  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

10.729 Views

Untitledvor 0 min.
Uwe Lang17.09.2022
Rc31.01.2022
Manfred Barei20.03.2020
p.specht30.03.2017
plus...

Themeninformationen

cet Thema hat 2 participant:

unbekannt (16x)
Michael Wodrich (2x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie