Um das ganze komplizierter zu machen, verwendet jeder Administrator andere Einstellungen (salopp gesagt).
Beispiele:
Server a - FTP läuft hier als "ftpuser" in Gruppe "www", Apache läuft als "www-run" in Gruppe "apache" und PHP läuft als User "nobody" in Gruppe "www-run".
Da Deine Dateien nach dem Überspielen per FTP dem Benutzer "ftpuser" gehört, mußt Du die Rechte etwas globaler machen, damit auch der Apache/PHP ausreichend mit den Dateien arbeiten können. Hierbei ist folgendes gefährlich: Je mehr Rechte man nach aussen geben muß, desto schneller können Sicherheitslücken gravierend sein.
Wenn wir annehmen, das script "dateifunktionen.php" eine Sicherheitslücke enthält, kann ein Angreifer mit dieser Datei auf jede Datei zugreifen, die entsprechend lasche Rechte hat. Im Fall von Modus 777 wäre das: Datei auslesen (u.a. passwortdateien), Dateien überschreiben oder gar löschen und Dateien ausführen). Das ist besonders schlimm, falls man PHP nicht richtig konfiguriert hat und seine Seiten bei einem Shared Web Hoster hat. Jeder Benutzer hat das Recht die Daten eines anderen Benutzers auszulesen. Entsprechende Tests gab es in mehreren Computerfachzeitschriften - selbst große Hoster mit riesigem Bekanntheitsgrad sind vor solchen schlechten Einstellungen nicht gefeit.
Server b benutzt einen sogenannten Wrapper der alle Daten einem bestimmten User zuweist. Spielt man mit per FTP etwas auf, gehören die Daten "benutzer2034", Scripte die Ausgeführt werden laufen als Benutzer "benutzer2034". Die Dateirechte sind hier restriktiv gesetzt, z. B. 755 oder 700 oder 600. Andere Benutzer haben also keine Möglichkeiten an die Daten zu kommen. Eine Sicherheitslücke würde als nicht das ganze System gefährden, sondern nur die Daten des jeweiligen Benutzers mit der Sicherheitslücke. Entsprechende Änderungen machen sogar das viel schwerer.
Leider muß man sich mit den Tutorials sehr, sehr global halten. Damit die auch überall funktionieren. Ein wenig mehr Informationen zu dem Thema schadet aber sicherlich niemandem
Bei vielen Webhostern kann man inzwischen oft auch auf chmod 777 verzichten ;-]