FTP Rechte wieder auf User übertragen

  • Mahlzeit !


    Habe leider den "Fehler" gemacht, und den gesmaten Inhalt eines /htdocs Ordners als Root mittels SFTP Client zu übertragen. Logge ich mich nun als dieser Kunde per FTP ein, will CHMODs setzen, kriege ich jedesmal die Meldung, die operation sei nicht erlaubt (eben wegen fehlender Rechte).


    Bei meiner letzten Konfiguration haben sich diese Rechte wieder automatisch auf den user gesetzt, nachdem dieser sich einmal angemeldet hatte, dieses mal allerdings nicht. Hinweise? Tipps? Hilfe?


    EDIT meint: damn, ich hasse PHP Konfigs !

  • Wieso setzt du die Berechtigung nicht einfach wieder, den dafür nötigen Root Zugriff scheinst du ja zu besitzen.
    Automatisch setzen braucht man da nichts, das ist mittels "chown user:gruppe datei" bzw. "chown -R user:gruppe ordner" innerhalb von einer Minute korrigiert.


    Wenn die Dateien allerdings unterschiedlichen Benutzern gehörten, dann musst du selbst erstmal gucken wer worauf Zugriff haben sollte.


    Nebenbei, was hat das ganze mit PHP bzw. dessen Konfiguration zutun?

  • Naja, ich habe schon chown -R wwwrun:wwwrun sowie chown -R www-data:www-data * versucht, aber ich kriege die Rechte nicht wieder auf den FTP User, welchem alle Dateien gehören.


    PHP: Naja, dachte mir erst, das ist davon abhängig, wie PHP läuft - also als Modul, Apache2Handler etc.

  • Mit PHP hat das ja bis hier noch gar nichts zu tun. Du solltest zunächst mal rausfinden, mit welchem Systembenutzer sich der FTP-Benutzer einloggt. Das kann durchaus www-data sein, um Konflikte zwischen per PHP und per FTP erstellten Dateien zu verhindern. Lege einfach mal per FTP eine neue Datei an. Den Benutzernamen und die Gruppe kannst du dann auf die anderen Dateien übertragen.

  • Was genau soll es denn bringen die Berechtigung auf den Webserver zu übertragen?


    Du musst dort schon den FTP User und dessen Gruppe angeben. Lad halt einfach mal ne neue Datei hoch und guck dir an welche Berechtigung diese bekommt.

  • Und wie soll ich erfahren, welcher Gruppe FTP user angehören?


    Stehe jetzt hier echt auf dem Schlauch...Dreck !


    EDIT: Hochgeladene Datei gehört zur Gruppe vu2001 [2001] und selben Benutzer -ein Chown schuf jedoch keine Abhilfe....

  • Zitat von Servior;16239

    Was genau soll es denn bringen die Berechtigung auf den Webserver zu übertragen?


    Bei meiner Konfiguration ist es so, dass FTP-Benutzer, die ich für die Verwaltung von Webseiten anlege, mit den Rechten vom Apache laufen. Ich habe PHP als Apache-Modul, daher läuft auch PHP unter www-data. Wenn die Benutzer unterschiedlich sind, kann es vorkommen, dass in PHP oder per FTP angelegte Dateien im jeweils anderen nicht geschrieben/gelöscht werden können.

  • Ja, das wars. Ich habe natürlich den ordner falsch angegeben.


    Ich wollte halt unter den /htdocs als FTP User Rechte setzen. FileZilla teilte mir jedoch mit, das die "Operation not permitted" sei. War mir logisch, habe vorher alle Dateien als Root per SFTP hochgeladen, also hatte Root nun die Besitzrechte. Ich war jetzt allerdings unfähig, dem FTP Benutzer wieder seine Rechte zu geben, die Dateien zu ändern !


    Manchmal kann einem das Linux/Unix Rechte System schaffen, erst recht, wenn man sich noch nie damit beschäftigt hat !


    EDIT sagt noch: Danke für die Hilfe - in meiner Hektik & Eile mache ich doch oft mal fehler.

  • Zitat von Robert;16242

    Bei meiner Konfiguration ist es so, dass FTP-Benutzer, die ich für die Verwaltung von Webseiten anlege, mit den Rechten vom Apache laufen. Ich habe PHP als Apache-Modul, daher läuft auch PHP unter www-data. Wenn die Benutzer unterschiedlich sind, kann es vorkommen, dass in PHP oder per FTP angelegte Dateien im jeweils anderen nicht geschrieben/gelöscht werden können.


    Das Problem ist ganz normal bei der Konfiguration.


    Entweder vergibst du dem Webserver Berechtigung auf die Dateien und passt deinen FTP-Server entsprechend an. (Nachteil daran ist dass beim Betrieb mit mehreren Benutzern die Sicherheit leidet)


    ODER


    Du beschäftigst dich mit Suexec.
    http://wiki.hetzner.de/index.php/Apache_PHP5_fcgi_und_SuExec


    Da gibts ne recht gute Anleitung dazu, dann werden die Dateien unter dem FTP Benutzer ausgeführt.

  • Keine Ahnung, welchen Server du verwendest, aber mit proftpd kann man bequem mittels virtueller Benutzer eine UID und GID festlegen. Meine FTP-Benutzer für das Webverzeichnis sind einfach www-data:www-data, so kommen keine Konflikte auf.


    Eine Quick-'n'-Dirty-Lösung wäre ein Cronjob, der einfach als root das Webverzeichnis chownt.


    suexec ist jedoch eine deutlich sicherere Lösung!

    Mein Server:
    v(olks)Server 1. Serie: 2,5GHz, 1024MB RAM, 1024MB Swap, 2x60GB-Raid1-HDD, Traffic-Flat
    Node:
    78.46.117.9x | hos-tr2.ex3k4.rz7.hetzner.de

  • Falls du mich meinst:


    Zitat von Artimis;16262

    Meine FTP-Benutzer für das Webverzeichnis sind einfach www-data:www-data, so kommen keine Konflikte auf.


    Genau das mache ich.