Announcement

Collapse
No announcement yet.

Probleme mit Datei-/Verzeichniszugriff

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Datei-/Verzeichniszugriff

    Hallo,<br>
    ich erzeuge während der Programmausführung einen Ordner. Nun sollen andere NT-Benutzer in den Ordner hineinschreiben. Wie kann ich beim erzeugen meines Ordners oder nachträglich den anderen Benutzern Schreibrechte erteilen? Andere Benutzer haben nur Rechte zum Lesen und Ausführen. (z.B chmod für NT)<br>
    Danke und mit freundlichen Grüssen Alex.

  • #2
    Es gibt hier im einen Langen Thread dazu - es ging um Registry-Zugriff bei einem Services, dort ist ein Beispeil zu finden, wie man soetwas schon beim Erzeugen mitgeben kann oder hinterher setzen.
    <br>(ich finde es bestimmt noch, Link folgt dann)

    Gruß Nico

    /* edit */
    Ich glaube der ist bei der Umstellung weggefallen :/
    /* edit */

    &#10

    Comment


    • #3
      Hallo NicoDE,<br>
      ich habe im Forum nach dem Begriff 'Serviceanwendung' gesucht und das Beispiel gefunden, doch mir ist nicht ganz klar, was ich für das setzen der Verzeichnisrechte machen muss. Wie würde es z.B. funktionieren, wenn ich das Verzeichnis c:\tmp für alle freigeben möchte?<br>
      <br>
      Mit freundlichen Grüssen<br>
      Ale

      Comment


      • #4

        dort wo in der Beispiel-Funktion RegKeyWithFullAccess der Registry-Schlüssel erzeugt wird - einfach das Verzeichnis mit dem SD erzeugen / oder wenn's schon existiert mit SetSecurityInfo auf das Handle (das Du Dir mit den entsprechenden Rechten besorgt hast) zum Verzeichnis anwenden.

        Wenn ich so Freigabe lese, Du meinst aber nicht im Netzwerk freigeben, oder? Das wär' was ganz anderes - geht mit den Net-Funktionen.

        Gruß Nico

        PS: wenn c:\temp auf einem NTFS-Laufwerk liegt geht's (nur dann :

        Comment


        • #5
          Hallo,<br>
          ich erzeuge meine Ordner auf einem Server. Alle Benutzer haben aber Zugriff auf das Laufwerk. Nur für den neu angelegten Ordner haben die Benutzer nur Rechte zum Lesen und Ausführen. Das Filesystem des Server kann als NTFS oder Linux Filesystem vorliegen.<br>
          Muss ich jetzt die Net-Funktionen benutzen? Und wenn ja, wie geht dass?
          <br><br>
          Gruß Ale

          Comment


          • #6
            Die NT-Benutzer greifen über ein Netzlaufwerk auf den Server zu

            Comment


            • #7
              Hat sich erledigt

              Comment


              • #8
                Hallo,<br>
                ich habe doch noch ein Problem und zwar verwende ich folgenden Code:<br>
                <pre><code>
                if (pSD = NIL)
                then showmessage('fehler');<br>

                (* Initialize a security descriptor. *)

                if (InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION))
                then showmessage('InitializeSecurityDescriptor ok');<br>

                (* Add a NULL disc. ACL to the security descriptor. *)

                if (SetSecurityDescriptorDacl(pSD,
                TRUE, (* specifying a disc. ACL *)
                NiL,
                FALSE)) (* not a default disc. ACL *)
                then showmessage('SetSecurityDescriptorDacl ok');<br>

                (* Add the security descriptor to the file. *)

                if (SetFileSecurity('d:\temp\test\', DACL_SECURITY_INFORMATION,pSD))
                then showmessage('SetFileSecurity ok')
                <br>
                else showmessage(syserrormessage(getlasterror));
                </code></pre>
                <br>
                Ich bekomme nun immer einen AccessViolationError und denke, dass ich noch Speicher allozieren bzw. freigeben muss, doch wie? Der Fehler tritt erst auf, wenn ich das Programm beende.<br> Gruß Ale

                Comment


                • #9
                  Ich habe einen ApacheServer auf einem NT-System installiert und er läuft
                  Nun möchte ich ein Perl Board ausführen über meinem Webserver.

                  Das Problem ist, wie kann ich PerlScripte in NT mit verschiedenen
                  Zugriffsrechten versehen? CHMOD gibt es ja nun im NT nicht.

                  Aso es läuft kein FTP-Server und kein UNIX. Nur NT
                  Vielen Dank für die Hilfe!

                  Wenn es möglich ist, bitte einfach erklären, bin froh, dass es schon soweit läuft :

                  Comment


                  • #10
                    Im Windows NT Command Prompt gibt es den Befehl CACLS zum Ändern der Rechte auf NTFS

                    Comment


                    • #11
                      Moin Rene,<br>
                      <br>
                      möglicher Weise könntest Du auch versuchen über Konfiguration des Apache Servers (.htaccess) zusätzliche serverseitige Zugriffsrechte auf die Verzeichnisse einzurichten.<br>
                      Auf der Apache Seite gibt es eine recht Umfangreiche Doku (auch wenn's manchmal schwierig zu finden ist.<br>
                      Da ich den Apache nur gelegentlich lokal benutze um Scripte zu testen, kann ich da auch leider keine näheren Informationen geben, denn die Absicherung brauche ich da ja nicht.<br>
                      <br>
                      Ciao<br>
                      Chris
                      <br>
                      PS: Im NT ResourceKit gibt es auch noch einen erweiterten CACLS nämlich XCACLS.<br>
                      &#10

                      Comment

                      Working...
                      X