
Ich hatte vsftpd so eingerichtet, dass ich Dateien auf einen von mir eingerichteten VPS hochladen konnte. Das einzige Problem ist, dass ich keine Verzeichnisse erstellen konnte. Ich habe vsftpd so eingerichtet, dass anonyme Benutzer nicht zugelassen werden, virtuelle Benutzer sich jedoch mit ihren lokalen Anmeldeinformationen anmelden können. An diesem Punkt änderte sich die Fehlermeldung beim Versuch, einen Ordner zu erstellen, von „550: Erstellen des Verzeichnisses fehlgeschlagen“ (ich fasse es zusammen) zu „550: Zugriff verweigert“. Root besitzt den Ordner /var/www und der Benutzer, mit dem ich mich authentifiziert habe, hatte Lese- und Ausführungsberechtigungen, aber keine Schreibberechtigungen. Daher ist es verständlich, dass ich keine Ordner oder Dateien erstellen konnte.
An diesem Punkt habe ich versucht, mit chown und chmod den Gruppenbesitz rekursiv auf eine Gruppe zu ändern, in der sich mein Benutzer befand, und meinem Benutzer Schreibberechtigung zu erteilen. Dies schien zunächst zu funktionieren – in der SSH-Sitzung konnte ich per cd nach /var/www wechseln und ein neues Verzeichnis erstellen. Als ich jedoch versuchte, mich mit meinem FTP-Client anzumelden, wurde mir nun der Zugriff verweigert.
Noch seltsamer ist, dass ich beim Überprüfen von /var/log/vsftpd.log die folgenden Zeilen sehe:
Mon Jan 5 00:03:25 2015 [pid 801] CONNECT: Client "73.53.82.111"
Mon Jan 5 00:03:25 2015 [pid 800] [gradinafrica] OK LOGIN: Client "73.53.82.111"
...auch wenn die Anmeldung nicht zu funktionieren scheint. Was ist los?
BEARBEITEN(weitere Informationen): Betriebssystem: Ubuntu 14.04. Architektur: Virtueller privater Server (?)
Als ich den Server eingerichtet habe, habe ich die Anmeldung als Root untersagt (wie von mehreren Quellen empfohlen) und einen anderen Benutzer eingerichtet – „gradinafrica“ –, den ich der Sudo-Gruppe hinzugefügt habe. Ich versuche, dieses Konto für FTP zu verwenden. Ich habe überhaupt nicht mit SFTP gearbeitet.
Hier ist der Inhalt von vsftpd.conf (Kommentare ausgelassen):
listen=YES
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
anon_upload_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
local_root=/var/www/
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Antwort1
Wenn Sie Schreibberechtigung für Ihr Benutzerkonto in /var/www/ benötigen, muss der jeweilige Benutzer je nach Ihrem Betriebssystem Mitglied der Apache- oder WWW-Datengruppe sein.
write_enable=YES
Verwenden Sie dies nur, wenn Sie einen Benutzer mit Web-Stammverzeichnis als Home-Verzeichnis hinzugefügt haben
allow_writeable_chroot=YES