Frage Schreibzugriff verweigert via Filezilla sftp nach / var / www / html


Ok, ich bin fast komplett neu in Linux und Apache Konfiguration.

Mein Problem ist, dass ich Apache habe, der die Standardseite anzeigt, aber wenn ich versuche und es über sFTP zugreift, teilt es mir mit, dass ich Schreibberechtigung verweigert habe, wenn ich versuche, auf / var / www / html zu schreiben.

Ich kann mich über fileZilla am Server anmelden. Wenn ich den Befehl ls -l / var | grep www (Ich denke, das ist, wie Sie die Erlaubnis überprüfen) und es gibt "drwxr-xr-x 6 root root 4096 Jul 15 7:18 www" zurück. Ich habe gelesen und anscheinend sollen www-Daten dort sein, wo root ist, aber ich weiß es nicht.

Ich greife über den ec2-Benutzer mit der .pem-Datei zu.

Ich denke, dass ich meinen Benutzer zu der Gruppe hinzufügen sollte, die für den HTML-Ordner verantwortlich ist, aber es sieht wie seine Wurzel aus, also bin ich nur nicht sicher, was damit falsch ist.

Irgendwelche Ideen, wie ich das umgehen kann? Vorzugsweise sicher.

BEARBEITEN

Ich kann mit demselben Setup in das Verzeichnis / home / ec2-user schreiben. Ich schätze also, ich muss nur ec2-Benutzer zu einer bestimmten Gruppe hinzufügen? Ich habe keine Gruppe namens www-data, wie manche vorgeschlagen haben, und es hört sich so an, als wäre es nicht ratsam, ec2-user root-Privilegien zu geben. Könnte falsch liegen.


6
2017-08-07 06:53


Ursprung




Antworten:


Wenn Sie Ubuntu verwenden, ist der Apache-Benutzer www-data, aber wenn Sie CentOS verwenden, ist der Webserver-Benutzer Apache, also können Sie grep und sehen, ob Apache-Benutzer existieren oder nicht:

grep apache /etc/passwd

Wenn der Benutzer apache vorhanden ist, können Sie Folgendes verwenden:

chown -R apache:apache /var/www/html

3
2017-08-07 07:23



In Ordnung, ich habe das mit einer Kombination aus ec2-user und Apecs-Gruppe geschafft und die Dateien über die Gruppe schreibbar gemacht. Macht es auf diese Weise eine unnötige Sicherheitslücke? - Poodimizer
Dies ist keine gute Sicherheitsvorkehrung, es ist nicht ratsam, Apache-Benutzer hinzufügen, bitte gehen Sie über den Link serverfault.com/questions/389020/ ... Es ist nicht notwendig, ec2-Benutzer zu Apache hinzufügen, chown wird das Problem zu beheben, können Sie den Benutzer aus einer Gruppe entfernen, indem Sie gpasswd Befehl verwenden Auch die Erlaubnis der anderen Gruppe entfernen. - ZVIK
Wenn ich ec2-Benutzer aus der Apache-Gruppe entferne, verliere ich die Möglichkeit, Daten beim Einloggen als ec2-Benutzer hochzuladen. Soll ich mich als Apache anmelden oder sollte ich ändern, wem der Ordner zu ec2-user gehört? Oder verpasse ich den Punkt gänzlich? Wenn ich diesen Link richtig verstehe, wäre es sicher, den Ordner, der dem ec2-Benutzer gehört, und die Gruppe, die ihn als root ausführt, so zu machen, dass er nur für ec2-Benutzer schreibbar ist, während alle anderen Lesezugriff haben. - Poodimizer


Melden Sie sich mit PuTTY an und führen Sie sie aus sudo chown -R www-data /var/www/html Dies ändert den Verzeichnisbesitzer in www-data. Wenn dies nicht funktioniert, vergewissern Sie sich, dass dies das richtige Konto ist. Es klingt nicht korrekt.


1
2017-08-07 07:09



Ich habe den Befehl egrep -i "^ www-data" / etc / group verwendet, von dem ich denke, dass er einige Informationen zurückgeben soll, wenn die Gruppe existiert und nicht so aussieht. Sollte ich diese Gruppe gründen? Ich habe den Befehl verwendet, den Sie vorgeschlagen haben, und er sagte, dass www-data ein ungültiger Benutzer war - Poodimizer