Ich habe ein PHP auf meinem Ubuntu-Computer installiert. Das Webstammverzeichnis ist/var/www
Ich habe die Berechtigungen für diesen Ordner folgendermaßen festgelegt:
sudo chown -R ftpuser: www-data / var / www
ftpuser ist der Benutzer, den ich eingerichtet habe, damit ich von einem anderen Computer im Netzwerk nach / var / www ftp kann. www-data wird vom benutzer php verwendet. Ich habe es mit whoami
PHP überprüft .
Immer wenn ich eine neue Datei per FTP auf den Computer hochlade, hat die Gruppe keine Berechtigungen für die Datei. Wenn ich also versuche, in meinem Browser über darauf zuzugreifen, wird mir machine-name/new-file.php
die Erlaubnis verweigert und ich muss gehen und chmod
die neue Datei.
Ich frage mich, ob es eine Möglichkeit gibt, dem Benutzer / der Gruppe von www-data standardmäßig Zugriffsberechtigungen für neue Dateien zu erteilen, damit ich nicht jede neue Datei chmod behalten muss.
quelle
chmod g+s
undsetfacl
Befehle tat (und ihre Parameter).Ich bin mir sicher, dass Sie dies bereits geklärt haben, also ist dies für alle mit ähnlichen Anfragen
Führen Sie den Befehl "Eigentümer ändern" in Ihrem Webroot-Ordner aus:
Dadurch werden Sie als Eigentümer "manny" durch Ihren Benutzernamen ersetzen, sodass Sie im WWW-Ordner schreiben / lesen können
quelle
Wenn Ihr Webserver die Dateien nicht einmal lesen kann, ist es sehr wahrscheinlich, dass die Berechtigungen von
new-file.php
ungefähr 600 liegen (Lesen und Schreiben für den Eigentümer). Suchen Sie in Ihrer FTP-Anwendung nach einer Umask- Einstellung und stellen Sie sicher, dass es sich um 007 handelt.Wenn Ihre Webanwendung die Dateien ändern muss (oder andere Vorgänge, die nur vom Dateieigentümer ausgeführt werden können), benötigen Sie einen anderen Ansatz. Wenn Sie Apache verwenden, sollten Sie die Verwendung des itk MPM in Betracht ziehen . Mit diesem Modul können Sie Apache veranlassen, die Dateien mit demselben Benutzer wie "ftpuser" auszuführen / zu öffnen. Wenn Sie weitere Informationen zu diesem Thema benötigen, fügen Sie einen Kommentar hinzu.
quelle