Wie SFTP-Dateien hochgeladen werden, bleiben die Rechte für g + w erhalten

443
patriziotomato

Ich möchte Benutzern einen persönlichen Speicher zur Verfügung stellen, um Dateien über SFTP (chrooted) in ihr Heimatverzeichnis hochzuladen. Diese Dateien sollten dann auf unserer Website angezeigt werden, um zu entscheiden, ob sie in das System importiert werden sollen oder nicht. Der Webserver (www-data user) muss also lesend / schreibend sein.

Im Moment kann ich nicht feststellen, dass WWW-Daten diese Dateien schreiben oder löschen können

Durch das Lesen vieler Quellen und Antworten auf dieses Problem bin ich zu diesem Setup gelangt :

  • Eigentümer der Heimatverzeichnisse sind: Benutzername: www-data
  • Ich habe setgid verwendet, um die Gruppe jeder hochgeladenen Datei über SFTP zu überschreiben
  • Ich habe gelernt, dass ich die Dateiberechtigungen nicht aktiv auf der Serverseite einstellen kann, ich kann sie nur reduzieren, indem ich eine umask verwende

Wie kann ich automatisch die Berechtigung "g + w" für jede hochgeladene Datei über SFTP erteilen, sodass der www-data-Benutzer diese nach der Verarbeitung löschen kann.

Was ich bisher ausprobiert habe:

  • In der Nähe von Umasks gespielt (um zu lernen, werden niemals die Rechte für eine Datei erhöht)
  • In der Nähe von ACL gespielt, aber hier scheint das gleiche Problem die Regel zu sein
  • Verwenden Sie FTPS anstelle von SFTP, um solche Dinge besser steuern zu können. Also habe ich vsftpd benutzt, aber auch damit konnte ich keine "g + w" Berechtigung für Dateien bekommen

Was ich nicht will:

  • Verwenden Sie rsync oder einen anderen Server (der fehlschlagen kann), um die Stammordner mit einem beliebigen anderen Ordner zu synchronisieren, während Sie die entsprechenden Dateirechte übersetzen.

Vielen Dank für alle Tipps!

1

0 Antworten auf die Frage