Řešení 1:
Funguje to takto:Když se přihlásíte přes FTP/SSH a nahrajete soubory, jsou vytvořeny s vašimi oprávněními. Pravděpodobně váš webroot je světově zapisovatelný (0777), což není bezpečné - každý uživatel v systému tam může něco napsat. PHP běží s různými uživatelskými právy (Jsou specifikována v PHP-FPM config, ne nginx config), a jelikož je adresář světově zapisovatelný, může tam zapisovat i uživatel PHP (www-data). Ale vlastníkem tohoto souboru je www-data, nikoli váš účet. Jsou to 2 odlišné účty na úrovni oprávnění souborového systému.
Navrhuji vám vytvořit vyhrazeného uživatele s co nejmenšími právy, který by vlastnil webroot adresář a byl by používán pro FTP/SSH upload A spouštěl by php. Měli byste změnit konfiguraci PHP-FPM, v pracovní sekci je položka uživatele a konfigurace NGINX, takže můžete učinit soubory svých webových stránek nečitelnými a bezpečnějšími.
Nespouštějte PHP s privilegovaným uživatelem (možnosti sudo, práva zápisu mimo docroot), což by mohlo způsobit ohrožení zabezpečení serveru.
Řešení 2:
www-data
uživatel a skupina jsou zcela standardní. Může to být www nebo web na jiných systémech, ale myšlenka je stejná:Spouštějte webové služby s vyhrazeným účtem. Pokud je tedy váš webový server kompromitován, útočník bude mít přístup pouze k souborům, které byly tomuto účtu přiděleny. .
Pokud uživatel musí spravovat webové služby, měli byste jej přidat do příslušné skupiny (www-data) nebo mu umožnit su (nebo sudo) příslušnému uživateli (stále www-data).