Ankündigung

Einklappen
Keine Ankündigung bisher.

Verzeichnis / Datei als anderer Benutzer erstellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verzeichnis / Datei als anderer Benutzer erstellen

    Hallo,

    ich habe ein PHP-Script, welches (ggf. ein Verzeichnis anlegt und darin) eine Datei speichert. Je nach Datei muss der Benutzer gewechselt werden, da dieser natürlich nur Zugriff auf seine eigenen Daten haben soll.
    Das ganze läuft unter Ubuntu 18.04 mit PHP 7.2.34.

    Ich weiß, dass ich mit
    PHP-Code:
    chown() 
    den Besitzer der Datei / des Verzeichnisses ändern könnte, aber dazu müsste mein Script Superuser-Berechtigungen haben, was ich nicht so toll finde.
    WIe könnte ich das Problem sonst noch elegant lösen?
    Eine Idee wäre, einen Watch auf ein Verzeichnis zu machen, welcher diese Aufgabe per Shellscript erledigt. Gibt es statt dessen eine rein PHP-basierende Möglichkeit?

    Vielen Dank im Voraus.

  • #2
    [selbst gelöscht]

    Kommentar


    • #3
      Benutzer innerhalb von PHP haben alle auf einem Linux-System die gleichen Dateirechte.

      Kommentar


      • #4
        [selbst gelöscht]

        Kommentar


        • #5
          lieber nicht die lösungen aus #2.
          es gibt schon mehr oder weniger elegante lösungen,
          fpm-pool socket // chroot jail ...
          aber wie willst du das tun ? ernschd
          es gibt ja ein haufen anderer möglichkeiten dateien auf ein server zu laden als über php/webinterface

          Kommentar


          • #6
            [selbst gelöscht]

            Kommentar


            • #7
              suexec hat nur sehr am rande mit fpm zu tun, suxec läuft auch unter php-cgi/fcgi

              zu suxece:
              https://httpd.apache.org/docs/2.4/suexec.html

              mit fpm kann man sowas :
              https://www.binarytides.com/php-fpm-...ser-uid-linux/

              ein setuid programm ist ja nun auch keine lösung.
              das scheunentor kann recht gross werden ^^

              ich meinte eher sowas wie webdav webdav-fs
              hab aber noch nicht damit gearbeitet und weiss nicht wie man sowas transparent macht.

              sonst gibt es ja noch samba shares oder das gute alte ftp

              ich verstehe auch den ansatz des TE nicht

              Kommentar


              • #8
                [selbst gelöscht]

                Kommentar


                • #9
                  Zitat von fastix Beitrag anzeigen
                  Setuid ist bei angemessener Anwendung nichts falsches. Jedes normale Linux hat etliche Programme, die damit versehen sind. Aber Ja: Nichts hiervon ist „Kindergarten" oder „Streichelzoo“.
                  Für so ein piplifax ein Setuid programm von www nutzer aufrufen zu lassen oder sudo zu bemühen wiederspricht meinen ansprüchen von sicherrheit.

                  einen interssanten artikel zum thema sutuid sei dir jedoch ans herz gelegt:

                  https://people.eecs.berkeley.edu/~da...d-usenix02.pdf

                  Kommentar


                  • #10
                    [selbst gelöscht]

                    Kommentar


                    • #11
                      FYI:
                      fastix deine komischen formuatierungen im anderen thread finde ich genauso fehl am patze wie deine einlassungen hier.
                      glücklicherweise muss ich sowas in zukunft nicht mehr lesen, wir haben die möglichkeit andere auf die ignorierliste zu setzen

                      Kommentar


                      • #12
                        [selbst gelöscht]

                        Kommentar


                        • #13
                          Moin ernschd
                          Eine Idee wäre, einen Watch auf ein Verzeichnis zu machen, welcher diese Aufgabe per Shellscript erledigt.
                          auch das ist mE nichr so richtig obertoll.
                          kannst du deine Aufgabe bitte nochmal erläutern, ich habe ja in #3 schon erwähnt, dass ich das nicht so ganz verstanden habe.

                          Kommentar


                          • #14
                            Zitat von tomBuilder Beitrag anzeigen
                            Für so ein piplifax ein Setuid programm von www nutzer aufrufen zu lassen oder sudo zu bemühen wiederspricht meinen ansprüchen von sicherrheit.
                            Genau dafür ist es doch da. Du kannst damit ein unpriviligierten User bestimmte Aktionen erlauben ohne gleich alles erlauben zu müssen. Sicherheitkritisch wird es wenn "bestimmte Aktionen" unfreiwillig falsch definiert sind.
                            Ein "find / -perm 4000" mit einen unsicheren Programm findest du gefühlt in jedem Linux Security Buch was Angriffe zeigt.

                            Zitat von tomBuilder Beitrag anzeigen
                            einen interssanten artikel zum thema sutuid sei dir jedoch ans herz gelegt:

                            https://people.eecs.berkeley.edu/~da...d-usenix02.pdf
                            Das Paper hat nix mit setuid bit zu tun. Da gehts drum, wenn du das innerhalb deiner Anwendung verwendest.

                            Kommentar


                            • #15
                              Ok, ich erkläre mal, was ich vorhabe: der Anwender kann in einem Formular PDF-Dateien hochladen und ggf. für ein Archiv freigeben.
                              Dieses Archiv wird über eine PC-Software angezeigt, dabei erfolgt der Zugriff über SFTP. Hier kommen die Nutzerberechtigungen ins Spiel: die jeweiligen Nutzer dürfen natürlich nur die für sie freigegebenen Dateien sehen.
                              Deswegen war die ursprüngliche Idee, dass das PHP-Script vor der Freigabe für die jeweiligen Dateien die passenden Eigentümer setzen soll. Ist es so verständlicher?

                              Also z.B.: Anwender A (Mitarbeiter von Firma A) lädt Datei "Hallo.pdf" hoch und gibt diese frei. Anwender B (Mitarbeiter Firma B) lädt "Welt.pdf" hoch und gibt diese auch frei.
                              Nun soll ein Sachbearbeiter von Firma A nur Zugriff auf "Hallo.pdf" haben, aber nicht auf "Welt.pdf" (das ganze natürlich umgekehrt für B).

                              Kommentar

                              Lädt...
                              X