Erlaubnis verweigert in FTP, obwohl ich der Besitzer bin

21

Okay, ich habe mein Bestes gegeben, um eine Antwort darauf zu finden, indem ich nach möglichen Duplikaten gesucht habe, aber ich kann es mir einfach nicht verzeihen, wenn es sowieso irgendwo da draußen ist.

Mein Problem ist wie folgt. Ich habe den Eigentümer gesetzt /var/wwwzu myuser:www-dataund Berechtigungen des Ordners und alle (zur Zeit nur die grundlegenden index.html) seinen Inhalt 750und Apache scheint es zu laufen wie angenommen, aber ich kann es nicht zugreifen , wenn ich FTP auf den Server als der myuserBenutzer. Ich meine, ich kann darauf zugreifen, aber sobald ich versuche, etwas zu bearbeiten, zu löschen oder hinzuzufügen, erhalte ich nur 500 Permission denieddie Berechtigungen, die ich erhalte 500 Unknown SITE command.

Hilfe! Was mache ich falsch? Die Idee, den Benutzer und die Gruppe und dann die oben genannten Berechtigungen festzulegen, stammte von einem guten Freund, der so etwas wie ein Experte ist. Ich habe jedoch das Gefühl, dass ich ihn störe, wenn ich so viele Fragen stelle. Wenn Sie also helfen können mir noch etwas, das wäre toll!

Ich versuche, ein Backup mit 4 vhosts wieder in den www-Ordner zu legen, aber was ich dort abgelegt habe, sollte nicht von Belang sein, oder? Das ist nur das Bekennen des Vhostings später, das damit zu tun hat, oder?

Danke im Voraus!

Info hinzugefügt:

Ich habe Folgendes ausgeführt: myuser@myserver:/$ groups myuser Und habe Folgendes ausgeführt: myuser : myuser adm cdrom sudo dip plugdev lpadmin sambashare Dann habe ich Folgendes ausgeführt: myuser@myserver:/$ groups www-data Und habe Folgendes ausgeführt: www-data : www-data

Und dann das: myuser@myserver:/var/www$ ls -l Und bekam das: total 4 -rwxr-x--- 1 tjita1 www-data 177 Jan 25 17:45 index.html

In Bezug auf den FTP-Server habe ich nichts spezielles getan, ich habe nur vsftpd installiert. Ach ja, habe ich auch noch eine Linie in Ich denke , /etc/vsftpd.confoder so ähnlich, dass liest etwas wie folgt aus : chmod_enable=YES.

Außerdem kann ich diese 4-Leerzeichen-Einrückungen nicht zum Laufen bringen, tut mir leid.

Tjita1
quelle
Ich weiß nicht, ob das richtig ist, aber mit den Berechtigungen eines solchen Verzeichnisses herumzuspielen ist kein guter Weg. Wie auch immer, darf ich die Ausgabe von groups myuser(wie in; bitte durch den Benutzernamen des Benutzers ersetzen) fragen ? und auch ls -lvon wwwdir
AzkerM
1
Wie haben Sie Ihren FTP-Server eingerichtet?
Falkner

Antworten:

33

Nachdem Sie den FTP-Server mit installiert sudo apt-get install vsftpdhaben, müssen Sie ihn konfigurieren. Um den Schreibzugriff zu aktivieren, müssen Sie die /etc/vsftpd.confDatei bearbeiten und das Kommentarzeichen entfernen

#write_enable=YES

Zeile, so sollte es lesen

write_enable=YES

Speichern Sie die Datei und starten Sie neu vsftpdmit sudo service vsftpd restart.

Weitere Konfigurationsoptionen finden Sie in dieser Dokumentation oderman vsftpd.conf

Falkner
quelle
1
Du bist der Mann. Das hat mir endlich geholfen!
Allen Gingrich
Und alle Antworten im Internet waren falsch. So einfach und klar. Ich habe sogar die vsftpd.conf nur zum Spaß gelesen!
Mohammed Joraid
3

Eine einfache Möglichkeit, FTP mit dem Befehl curl hier zu verwenden . Wenn Sie ftp mit einem einzelnen Befehl verwenden möchten, verwenden Sie den folgenden Befehl

sudo curl -T file_to_be_uploaded.txt ftp://mydomain.com/mydirectory/ --user username:password

Wenn eine Fehlermeldung 551: permission deniedangezeigt wird, ist die hochgeladene Datei möglicherweise auf der Fernbedienung vorhanden und Sie haben keine Berechtigung, sie zu überschreiben. Laden Sie sie mit einem anderen Dateinamen hoch oder löschen Sie die aktuelle Datei auf der Fernbedienung.

Ajeet Khan
quelle
1

Ich hatte das gleiche Problem und keiner der Vorschläge zu Write_enable oder Ordnerberechtigungen hat funktioniert. Ich habe den Verbindungstyp in meinem FTP-Client von FTP auf SSH / SFTP geändert und alles hat einwandfrei funktioniert. Anscheinend benötigt VSFTPD eine sichere Verbindung zum Schreiben.

JT Johnston
quelle
3
Wenn Sie SFTP verwendet, dann sind Sie wahrscheinlich nicht vsftpd verwenden, trotz des Namens. FTPS ist sicheres FTP, SFTP ist das SSH-Dateiübertragungsprotokoll und wird normalerweise von jedem installierten SSH-Server verarbeitet.
muru