Es klingt, als ob Sie eine gemeinsame Gruppe für FTP und Nginx benötigen. In Ihrem Fall können Sie dazu wahrscheinlich die ftp-Gruppe verwenden. Ich weiß nicht, ob Ihr Webserver Schreibzugriff auf die Dateien benötigt, aber wenn nicht, cd in Ihr Inhaltsverzeichnis und führen Sie die folgenden Befehle aus:
chown -Rh ftp:ftp . find . -type d -exec chmod g+rxs {} \; find . -type f -exec chmod g+r {} \;
Wenn Sie Schreibzugriff vom Webserver benötigen, gehen Sie wie folgt vor:
chown -Rh ftp:ftp . find . -type d -exec chmod g+rwxs {} \; find . -type f -exec chmod g+rw {} \;
Diese Befehle machen alles, was ftp: ftp gehört, und macht diese Dateien für jeden in der ftp-Gruppe lesbar und (im zweiten Fall) beschreibbar. Es setzt auch das Setgid-Bit für alle Verzeichnisse, wodurch alle neuen Dateien der ftp-Gruppe zugeordnet werden. Sobald dies erledigt ist, fügen Sie den nginx-Benutzer zur ftp-Gruppe hinzu:
usermod -a -G ftp nginx
und starten Sie Ihren Webserver neu, damit er wirksam wird.
Möglicherweise müssen Sie auch alle Dateien, die in diese Verzeichnisse geschrieben werden, von der Gruppe beschreibbar machen. Sie können dies tun, indem Sie die umask für Ihre FTP- und Webserver auf 002 oder mit einem acl setzen:
setfacl -Rdm g::rwx .