Frage Konfigurieren Sie vsftpd für chown hochgeladene Dateien


Ich habe vsftpd auf meinem Ubuntu-Server ausgeführt. Dies ist ein Entwicklungsserver und ich möchte in der Lage sein, meinen Code direkt in das Verzeichnis zu übertragen, das Apache ausliefert.

Wie die meisten von Ihnen wissen, ist www-data der Apache-Benutzer und der www-data-Benutzer muss Berechtigungen für das Verzeichnis haben, das Apache ausliefert.

Ich wollte auch keine www-Daten zu einem FTP-Benutzer machen, also habe ich stattdessen einen anderen Benutzer für die Verwendung mit FTP erstellt und sowohl www-data als auch den neuen Benutzer in eine neue Gruppe namens www gestellt.

Ich habe ein chown -R www-data:www * zu dem Verzeichnis, das Apache serviert und es funktioniert meistens gut.

Das Problem tritt auf, wenn ich eine Datei per FTP hochlade, die zuvor nicht in diesem Verzeichnis vorhanden war. Der Besitzer wird auf meinen FTP-Benutzer eingestellt. Ich möchte, dass der Besitzer auf www-data gesetzt wird und die Gruppe auf www gesetzt wird, wenn eine neue Datei hochgeladen wird.

Gibt es eine Möglichkeit, dies mit vsftpd zu tun?

Ich habe stundenlang wild gegoogelt, aber ich finde keinen Weg es zu tun. Jede Hilfe würde sehr geschätzt werden.

Bearbeiten:

Ich habe nur ein paar Cron-Jobs eingerichtet, die jede Minute ausgeführt werden und die Berechtigungen festlegen:

*/1 * * * * chown -R www-data:www /var/www

*/1 * * * * chmod -R g+rw /var/www

Es funktioniert, aber es ist irgendwie klobig, und es gibt eine ~ 1 Minute Verzögerung zwischen dem Hochladen von neuem Code und der Arbeit, wenn ich F5 in meinem Browser drücke.


4
2018-02-17 01:39


Ursprung




Antworten:


Lesen man 2 chmodbesonders der Teil, der sagt:

   S_ISGID  (02000)  set-group-ID (set process effective group ID on execve(2); mandatory locking, as described in  fcntl(2);  take  a
                     new file's group from parent directory, as described in chown(2) and mkdir(2))

Sie könnten dies wahrscheinlich verwenden, um alle Dateien, die in dem Verzeichnis in der www Gruppe, und ändern Sie den Webserver umask Wert zu 022 

Um dies sicher zu tun, lesen und erneut lesen man 2 chmod, man 2 open, man 2 stat und alles, auf das in der Siehe auch: Abschnitte. Erfahren Sie, wie Linux mit Datei- und Verzeichnisberechtigungen für Spaß und / oder Gewinn umgeht!

Oder Sie könnten installieren inoticoming - trigger actions when files hit an incoming directoryund mach dein Ding, wenn eine Datei ankommt.


-1
2018-01-21 01:06