Bisher war es mir nicht möglich, einen FTP-Benutzer in sein Website-Verzeichnis einzusperren. Gibt es eine Lösung, die diesen Fehler behebt und den Benutzer in seinem Verzeichnis einsperrt?
Meine vsFTPd-Einstellungen, die ich geändert habe:
listen_port=9000
Set: anonymous_enable=NO
Uncomment: local_enable=YES
Uncomment: write_enable=YES
Uncomment: local_umask=022
Set: connect_from_port_20=NO
Uncomment: idle_session_timeout=600
Uncomment: data_connection_timeout=120
Comment out: #ftpd_banner=Welcome to blah FTP service. [should be on line 104]
Added: banner_file=/etc/issue.net
Uncomment: chroot_local_user=YES
Uncomment: chroot_local_user=YES
Uncomment: chroot_list_enable=YES
Uncomment : chroot_list_file=/etc/vsftpd.chroot_list
Am Ende der Datei habe ich hinzugefügt:
# Show hidden files and the "." and ".." folders.
# Useful to not write over hidden files:
force_dot_files=YES
# Hide the info about the owner (user and group) of the files.
hide_ids=YES
# Connection limit for each IP address:
max_per_ip=10
# Maximum number of clients:
max_clients=5
# FTP Passive Settings
pasv_enable=YES
#If your listen_port is 9000 set this range to 7500 and 8500
pasv_min_port=[port range min]
pasv_max_port=[port range max]
Der betreffende Benutzer mybloguser
befindet sich in seinem / ihrem Website-Verzeichnis unter /srv/www/myblog
und dieser Benutzer ist nicht Teil der nano /etc/vsftpd.chroot_list
Datei. Das Ausgangsverzeichnis des Benutzers war auch /srv/www/myblog
dasjenige, das in der Vergangenheit verwendet wurde.
Ich habe die allow_writeable_chroot=YES
Lösung ausprobiert , die nicht funktionierte, und tatsächlich vsFTPd komplett kaputt gemacht.
Ich habe versucht:
Wie können wir beide diesen Fehler beheben und den Benutzer in seinem Home-Verzeichnis inhaftieren?
allow_writeable_chroot=YES
war genug und tatsächlich gearbeitet FWIW „wie erwartet“ ...Antworten:
Für VSFTPD 3
/etc/vsftpd.conf
und füge dies hinzu:
Fügen Sie es einfach hinzu, wenn es noch nicht existiert.
Starten Sie den vsftpd-Dienst neu:
Und es sollte funktionieren.
quelle
Die eigentliche Lösung dieses Problems: Der Home-Ordner des Benutzers sollte nicht nur lesbar beschreibbar sein .
Wenn sich also die Benutzersite im Ordner befindet
cat/example.com/http/
,cat
muss der Ordnerchmod 555
und alles in Ordnung sein.quelle
Nach weiterer Überprüfung dieses Beitrags wurde in den Kommentaren ein Paket gepostet, das mein Problem behoben hat. Sie können entweder nach meinem Namen oder nach der "Marks" -Dokumentation suchen: http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/ . Hier sind meine Details, wie ich das weiter korrigiert habe.
BENUTZER SIND NOCH IM HAUS VERZEICHNIS !!!
quelle
Laut der vorherigen Antwort "Die WIRKLICHE Lösung dieses Problems: Der Home-Ordner des Benutzers sollte nicht nur lesbar sein.". Das allgemeine Denken ist richtig, aber mit einer falschen Erkenntnis.
Im Folgenden werde ich versuchen, ein einfaches Beispiel zu geben:
Zunächst müssen wir eine Topologie des Benutzerverzeichnisses erstellen:
vsftpd.conf schneiden:
Diese Konfiguration eignet sich hervorragend für eine Einzelbenutzerkonfiguration . Für Mehrbenutzer sollte zusätzlich die Direktive "user_config_dir" verwendet werden.
** UPDATE 20/09
------ **
Hier ist eine knifflige Problemumgehung, die nicht unbedingt zu verwenden ist, aber ... Wenn Sie einen beschreibbaren FTP-Stammordner benötigen, fügen Sie einfach Berechtigungsänderungsbefehle in die Befehle vor und nach dem Start ein.
Pre-Start - Ändern Sie die Berechtigungen in "Nur Lesen", was der Server benötigt (:
Starten Sie den Server
Nach dem Start - Ändern Sie die Berechtigung in "Lesen / Schreiben", oder die Sie benötigen.
quelle
Es ist so ziemlich das, was toastboy70 erwähnt hat. Machen Sie ftp-root zum Verzeichnis ftp.ftp und nicht beschreibbar (/etc/vsftpd.conf): anon_root = / srv / ftp
Erstellen Sie dann ein beschreibbares untergeordnetes Verzeichnis: / srv / ftp / upload
quelle
Ich musste der Datei /etc/vsftpd.conf auch Folgendes hinzufügen:
UND keine Notwendigkeit für die benutzerdefinierte Repo!
Und kommentiere die Zeile aus:
quelle
Die einfache Lösung ist, wie in der Fehlermeldung angegeben, Folgendes zu tun: Machen Sie den Root-Ordner nicht beschreibbar, und erstellen Sie ein Unterverzeichnis mit Schreibberechtigung, wenn Sie Uploads aktivieren müssen. Keine Konfigurationsänderungen notwendig.
quelle
Nach 3 Stunden googeln bin ich auf Ubuntu 14.04.2 LTS VSFTPd 3 gelandet. Der Home-Ordner wird sichtbar / home / vimal, sobald ein Client auf ihn zugreift. Ich habe mich mit Root-Rechten bei vimal angemeldet. Ich habe einen ftpShare-Ordner angelegt, aber er hat nicht viel Bedeutung.
einige nützliche Befehle:
Oben bedeutet, dass der FTP-Daemon funktioniert
Ich habe folgende Konfiguration:
Sobald FTP funktioniert, können Sie es weiter auf bestimmte Bedürfnisse abstimmen. Einige der obigen Werte haben Standardwerte, aber ich erinnere mich nicht genau.
Fehler im FTP-Client:
1. 500 OOPS: prctl PR_SET_SECCOMP ist fehlgeschlagen
Lösung.
[Fügen Sie es in der ersten Zeile vsftpd.conf hinzu, nachdem der erste kommentierte Abschnitt endet.]
2. 500 OOPS: vsftpd: weigert sich, mit beschreibbarer Wurzel in chroot () zu laufen
Ich habe es in der letzten Zeile hinzugefügt.
quelle
Ich habe das Problem gelöst, dass vsFTPd sich weigert, mit einem beschreibbaren Stammverzeichnis in chroot () auf meinem Ubuntu-Server ausgeführt zu werden:
Ich habe gerade die folgende Zeile in die
vsftpd.conf
Datei eingefügt :quelle