Français
Forum

DIE DATEI GEHÖRT MIR!

 
allô Profaner...

j'ai avant, mich bientôt la fois quelque chose mäher avec qui NT/NTFS File-Security trop beschäftigen - Montrer et changement de Eigentümern et son Zeug zum Beispiel. Hat quelqu'un so quelque chose déjà la fois gemacht (avec Security Descriptors gearbeitet) ou bien gibt es intérêt à dem Thema?
 
11.04.2005  
 



eh bien sur Linux ist alles oui zum Glück sur bashscripz realisierbar - là isses alles net so compliqué - mais irgendwie sicherer.

intéressant wäre z.B. comment une sur einem Client-Laufende-Software sich comme Benutzer sur dem Server s'inscrire peux (vorrausgesetzt Username+Mot de passe vorhanden!) um Fichiers je pour Rechtevergebung sur dem Server trop behandeln.

Salve.
 
12.04.2005  
 



Moin IF...

Sich irgendwo comme anderer User anzumelden (et sei es seulement avec einem individuel Prozess), pourrait eigentlich ne...aucune Problem son (siehe API Library). malheureusement habe je ne...aucune privates Netzwerk et peux c'est pourquoi en supplément rien entwickeln - allerhöchstens mitdenken. qui Domain (Computername) muss incidemment aussi encore bekannt son. cela changement des Security Descriptors ist ensuite mais gar pas plus notwendig - et justement cela voudrais je oui. je voudrais Files et Registry-Keys seulement pour bestimmte User et Gruppen freigeben ou bien den propriétaire sur (une peut-être. modifié) Loginnamen anpassen.

Viele Installer échouer chez Usern avec eingeschränkten Rechten, weil cet chez qui installation eines Programmes pas qui Zugriffsrechte pour qui Files des installierten Programmes anpassen.
Installiert un Admin pour une User avec eingeschränkten Rechten un Programme, funktioniert cet ensuite peut-être. pas richtig, weil Files pas gelesen ou bien geschrieben volonté peut - un Problem, à cela à peine un Programmierer denkt.

qui Zugriff sur den Security Descriptor scheint aussi sous Windows pas so compliqué trop son - ist wesentlich besser dokumentiert comme qui Aktivierung de Privilegien et qui LSA - et beides ist bereits dans Profan mise en œuvre.

quand même scheint es à peine ou bien gar aucun Source dans irgendeiner Programmiersprache sur cela Changement de Security Descriptors trop donner - cela stört mich quelque chose et cela veux je changement...

´
 
12.04.2005  
 



Du vouloir alors une set|getFileOwner erstellen - um avant einem fopen un getFileOwner==actualOwner abprüfen trop peut?

Wäre très intéressant...

Salve.
 
12.04.2005  
 



allô IF...

oui, oui c'est ca. seulement le moi avec cette devoir eigentlich pas viel trop 1faire habe - cela übernimmt cela Betriebssystem pour mich, vorausgesetzt il y a une NTFS formatierte Patition (chez XP eigentlich déjà presque Standard).

dans qui Registry funktioniert cela sur qui gleiche Weise. aussi ici peut Keys vers Fremdzugriff geschützt volonté. chez einigen Systemkeys sous HKEY_LOCAL_MACHINE ist es standardmäßig so, qui eigentlich seulement Admins puis zugreifen peut.

Comme je le disais - wäre cela pour Files gelöst, pourrait on cela pour alle anderen Bereiche des Betriebsystems aussi anwenden. là je ici seulement bedinngt sur NTFS Partitionen verfüge, bräuchte je peut-être. un jusqu'à deux gens, qui quelque chose enger avec mir zusammenarbeiten et 2000 ou bien XP avec NTFS avons. Oberflächliche Kenntnisse, comment cet Betriebssysteme marcher, sollte on déjà mitbringen.

qui Delphianer avons quelque chose ähnliches versucht - ist là scheinbar wohl kläglich dans qui Hose gegangen. je denke la fois, wir kriegen cela geregelt.
 
12.04.2005  
 



tu sais bien - wenns quoi trop testen gibt...

Salve.
 
12.04.2005  
 




CB
allô, Andreas!

suis volontiers aussi dabei. XP - 2000 - NT, aussi im Netzwerk.
Tät mich aussi intéresser!

Ciao, Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
12.04.2005  
 



allô son beiden...

Bestens - sobald je wieder voll à meinen Internet-PC peux, gehts oui c'est ca ici à l'attaque. cela peux encore jusque 14 Tagen dauern, c'est pourquoi quelque chose patience.

j'ai avant, ähnlich comment chez qui LSA-API et dem Aktivieren de Privilegien, ici très tief dans cela Herz chaque Windows NT-basieten Betriebssystems trop blicken.

si dabei quelque chose vernünftiges herauskommt, wird cela Ergebnis pas seulement pour Files gelten, mais sur alle Bereiche eines NT-basierten Systems zutreffen, qui avec ACCESS_MASK Flags travailler - qui Registry sous anderem, um seulement un Beispiel de vielen trop appeler.

je suis mich déjà sur qui Zusammenarbeit avec euch et hoffe, qui son mir aussi quelque chose sur qui Sprünge aider peut, wenns chez mir le crochet devrait...
 
13.04.2005  
 



allô son beiden (et dem reste ebenso)...

OK, maintenant attraper wir la fois entier lente et simple à:

d'abord hole je mir den Security Descriptor - alors encore rien besonderes.

quelle Rückmeldungen gibts - quoi zeigt qui Ausgabebox à - ist irgendetwas unschlüssig?
KompilierenMarqueSéparation
Windowstyle 31
Windowtitle "File Security"
Window 0,0-640,440
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
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"
Declare Filename$,Fehler&,SECURITY_INFORMATION#,PSECURITY_DESCRIPTOR#,Needed#
Declare NewState#,token#,Privileg#,Luid#,System$
Declare Laufwerk$,Label#,LFLAGS#,DAT#
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
    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
    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())
    STRING Privileg#,0="SeSecurityPrivilege"
    LET Fehler&=@LookupPrivilegeValue(System$,Privileg#,LUID#)
    ADDSTRING "Rückgabe von LookupPrivilegeValue="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    Byte NewState#,4=@Byte(Luid#,0)
    Byte NewState#,5=@Byte(Luid#,1)
    Byte NewState#,6=@Byte(Luid#,2)
    Byte NewState#,7=@Byte(Luid#,3)
    Byte NewState#,8=@Byte(Luid#,4)
    Byte NewState#,9=@Byte(Luid#,5)
    Byte NewState#,10=@Byte(Luid#,6)
    Byte NewState#,11=@Byte(Luid#,7)
    Let Fehler&=@AdjustTokenPrivileges(@LONG(Token#,0),0,NewState#,0,0,0)
    ADDSTRING "Rückgabe von AdjustTokenPrivileges="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    DIM SECURITY_INFORMATION#,4
    DIM PSECURITY_DESCRIPTOR#,1024
    DIM Needed#,4
    LONG SECURITY_INFORMATION#,0=$1 | $2 | $4
    LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SECURITY_INFORMATION#,PSECURITY_DESCRIPTOR#,1024,Needed#)
    ADDSTRING "Rückgabe von GetFileSecurity="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    @CloseHandle(@LONG(Token#,0))
    Dispose Luid#
    Dispose Privileg#
    Dispose NewState#
    Dispose token#
    Dispose Needed#
    Dispose PSECURITY_DESCRIPTOR#
    Dispose SECURITY_INFORMATION#
    Dispose Label#
    Dispose LFlags#
    DISPOSE DAT#
    @Listbox$("API Rückgaben",1)

Endif

While 0=0

    Waitinput

Wend


Fragen trop irgendwelchen Sachen? Gibt es irgendo 997 Fehlermeldungen? peux sich cela quelqu'un expliquer???
 
23.04.2005  
 




Rolf
Koch
Hi AH
hab simple la fois ne *.txt Dossier gewählt.

chez mir venez pour LookupPrivilegeValue=1
qui Wert 997.
expliquer peux je ca mais pas, là je keinen Schimmer en habe

Rolf
 
23.04.2005  
 



Hey Rolf...

Scheint mais quand même trop marcher => Rückmeldung ist oui 1. comment siehts avec den anderen Rückmeldungen aus?

but qui Kiste = je veux chez qui installation eines Programms festlegen peut, quelle User dans quel Art et Weise Zugriff sur qui installierten Fichiers avons.
normalement wird qui Zugriff de übergeordneter Stelle vererbt. cela peux chez eingeschränkten Rechten trop entier erheblichen Problemen mener...
 
23.04.2005  
 




Rolf
Koch
alors sieht chez mir so aus:
KompilierenMarqueSéparation
et là je trop fainéant suis alles abzutippen, quoi dans qui liste steht, habe je Deinen Code un bisschen um Arbeitselemente erweitert
KompilierenMarqueSéparation
Windowstyle 31
Windowtitle "File Security"
Fenêtre 0,0-640,440
DEF @GetFileSecurity(5) !"ADVAPI32","GetFileSecurityA"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
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 un.
DEF @GetCurrentProcess(0) !"kernel32","GetCurrentProcess" Ermittel cela Handle des aktiven Prozesses.
DEF @CloseHandle(1) !"kernel32","CloseHandle" Schließt un Handle (Programme).
Def @GetVolumeInformation(8) !"KERNEL32","GetVolumeInformationA"
Déclarer Filename$,Fehler&,SECURITY_INFORMATION#,PSECURITY_DESCRIPTOR#,Needed#
Déclarer NewState#,token#,Privileg#,Luid#,System$
Déclarer Laufwerk$,Label#,LFLAGS#,DAT#
DECLARE LISTBOX&,TOCLIP&,TOCLIP$
LISTBOX&=CREATELISTBOX(%HWND,»,5,5,500,300)
TOCLIP&=CREATEBUTTON(%HWND,"CLIPBOARD",5,320,120,18)
LET Filename$=@LOADFILE$("Datei laden","Alle Fichiers |*.*|Textdateien|*.TXT")

IF Filename$<>»

    CLEARLIST
    LET LAUFWERK$=@LEFT$(Filename$,3)
    DIM Label#,256
    DIM LFLAGS#,4
    DIM DAT#,256
    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 de 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"

    d'autre

        ADDSTRING "Zugriff ist pas einschränkbar"

    endif

    ADDSTRING "Ausgelesene Partition="+@String$(Dat#,0)
    dim token#,4
    DIM NewState#,16
    DIM Luid#,8
    DIM Privileg#,33
    ADDSTRING "Windowsversion="+$WINVER
    Long NewState#,0=1 seulement un Privileg soll geändert volonté
    Long NewState#,12=$00000002 cela Privileg soll eingeschaltet volonté
    LET FEHLER&=@OpenProcessToken(@GetCurrentProcess(),$0020 | $0008,Token#)
    ADDSTRING "Rückgabe de OpenProcessToken="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    STRING Privileg#,0="SeSecurityPrivilege"
    LET Fehler&=@LookupPrivilegeValue(System$,Privileg#,LUID#)
    ADDSTRING "Rückgabe de LookupPrivilegeValue="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    Byte NewState#,4=@Byte(Luid#,0)
    Byte NewState#,5=@Byte(Luid#,1)
    Byte NewState#,6=@Byte(Luid#,2)
    Byte NewState#,7=@Byte(Luid#,3)
    Byte NewState#,8=@Byte(Luid#,4)
    Byte NewState#,9=@Byte(Luid#,5)
    Byte NewState#,10=@Byte(Luid#,6)
    Byte NewState#,11=@Byte(Luid#,7)
    Laisser Fehler&=@AdjustTokenPrivileges(@LONG(Token#,0),0,NewState#,0,0,0)
    ADDSTRING "Rückgabe de AdjustTokenPrivileges="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    DIM SECURITY_INFORMATION#,4
    DIM PSECURITY_DESCRIPTOR#,1024
    DIM Needed#,4
    LONG SECURITY_INFORMATION#,0=$1 | $2 | $4
    LET Fehler&=@GetFileSecurity(@ADDR(Filename$),SECURITY_INFORMATION#,PSECURITY_DESCRIPTOR#,1024,Needed#)
    ADDSTRING "Rückgabe de GetFileSecurity="+@STR$(Fehler&)
    ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
    @CloseHandle(@LONG(Token#,0))
    MOVELISTTOLIST(LISTBOX&)
    Dispose Luid#
    Dispose Privileg#
    Dispose NewState#
    Dispose token#
    Dispose Needed#
    Dispose PSECURITY_DESCRIPTOR#
    Dispose SECURITY_INFORMATION#
    Dispose Label#
    Dispose LFlags#
    DISPOSE DAT#

Endif

Tandis que 0=0

    Waitinput

    IF GETFOCUS(TOCLIP&)

        CLEARCLIP
        CLEAR TOCLIP$
        TOCLIP$=GETSTRING$(LISTBOX&,0)

        WHILELOOP GETCOUNT(LISTBOX&)

            TOCLIP$=TOCLIP$+CHR$(10)+GETSTRING$(LISTBOX&,&LOOP)

        WEND

        PUTCLIP TOCLIP$

    ENDIF

Wend


Rolf
 
23.04.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

5.859 Views

Untitledvor 0 min.
JR04.11.2014
Tommy30.01.2014
Andreas Koch05.09.2013
Stephie03.09.2011

Themeninformationen



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