Benutzerberechtigungen für das Upload-Verzeichnis

Benutzerberechtigungen für das Upload-Verzeichnis

Das Hochladen von Dateien über meine Website schlägt fehl, da Apache keinen Schreibzugriff zu haben scheint. Meine Berechtigungen zeigen jedoch etwas anderes an. Irgendwelche Ideen?

Beim Hochladen per Skript gibt das Skript zurück

Error:  Directory is not writable

Verzeichnis ist /home/username/public_html/uploads
Verzeichnisberechtigungen sind drwxrwsr-x
Verzeichnis ist im Besitz von username:webadmins
Apache wird ausgeführt als www-dataund ist Mitglied von Gruppenwww-data webadmins

Was muss ich ändern, damit www-data (Apache) in dieses Verzeichnis schreiben kann? Danke.

Antwort1

Sie können versuchen, die Rechte des Upload-Ordners auf 777 zu setzen (Lese- und Schreibzugriff für alle Benutzer). Dies ist jedoch nicht sicher. Sie sollten dies nicht auf einem Produktionssystem oder einem System mit mehreren Benutzern verwenden. Jedenfalls würde dies so funktionieren sudo chown -R 777 /home/username/public_html/uploads

Die andere (und bessere) Möglichkeit wäre, mod_ruid2 für Apache zu verwenden. Sie können es hier herunterladenhttp://sourceforge.net/projects/mod-ruid/

Sie müssen es kompilieren und danach das Modul aktivierensudo a2enmod ruid2

Wenn dies installiert und aktiviert ist, können Sie die Konfigurationsdatei des Userdir-Moduls bearbeitensudo nano /etc/apache2/mods-enabled/userdir.conf

Fügen Sie Folgendes hinzu

<IfModule mod_ruid2.c>
RMode stat
RUidGid username usergroup
RGroups username usergroup
</IfModule>

Danach müssen Sie den Apache-Dienst neu startensudo service apache2 restart

Mit dieser Konfiguration können Sie das Verzeichnis public_html mit Ihrem Benutzer und Ihrer Benutzergruppe verwenden.

Dies funktioniert jedoch nur, wenn Sie nur einen Benutzer mit einem Benutzerverzeichnis „public_html“ von Apache haben.

verwandte Informationen