Ich möchte einen einfachen FTP-Server in meiner Ubuntu Server-Installation einrichten. Ich habe mit VSFTPD gespielt, habe jedoch Probleme, den Server so zu konfigurieren, dass ich Verzeichnisse erstellen und Dateien kopieren kann. Ich habe das System so eingestellt, dass lokale Benutzer zugelassen werden. Dies bedeutet jedoch nicht, dass ich Zugriff auf das Erstellen von Verzeichnissen bekomme. Dies kann ein Fall sein, in dem ich mich im Ubuntu-Server-Setup besser auskennen muss, um diesen FTP-Server angemessen zu konfigurieren. Das Endziel ist es, Dateien von meinem lokalen Entwicklerordner in meinen WWW-Ordner für die Bereitstellung zu verschieben. Auch Verzeichnisse müssen sich bewegen können. Jede Hilfe wäre sehr dankbar.
33
Antworten:
Ich werde PureFTPD empfehlen, da es meiner Meinung nach am einfachsten und am einfachsten zu verwenden war. Sie müssen es zuerst installieren:
sudo apt-get install pure-ftpd
Sobald es installiert ist, startet es sich von selbst. Standardmäßig werden PAM-Authentifizierungen verwendet, dh es werden die bereits auf dem System vorhandenen Konten für die Authentifizierung verwendet. Sie müssen lediglich ein Benutzerkonto mit dem Basisverzeichnis als WWW-Pfad erstellen und das Kennwort für dieses Konto festlegen. Sie sollten dann in der Lage sein, eine Verbindung mit dieser Benutzer- / Pass-Kombination herzustellen, um Dateien hoch- oder herunterzuladen.Etwas wie das:
sudo adduser ftpman --home /var/www/ --ingroup www-data
Dadurch wird der
ftpman
Benutzer erstellt und in die von Apache verwendete WWW-Datengruppe eingefügt. Anschließend werden Sie durch den Rest des Setup-Skripts geführt. Sobald dies definiert ist, vergewissernchmod
Sie sich , dass im WWW-Ordner Fehler vorliegen, die für die von Ihnen erstellte Benutzer- / Gruppenkombination bereits vorhanden sind.Zuletzt, wenn Sie den SSH-Zugriff für diesen Kontostart sperren möchten:
sudo chsh -s /bin/false ftpman
Dadurch wird die Shell dieses Benutzers in false geändert. (Ersetzen Sie ftpman durch Ihren ftp-Benutzer)quelle
chsh
starte, scheint dies Benutzer daran zu hindern, sich auch über FTP anzumelden. Durch Zurücksetzen auf/bin/bash
kann es wieder funktionieren.Meiner Meinung nach ist SFTP ein besserer Weg. Hey, es hat das Wort "sicher" im Namen, es muss besser sein :)
SFTP verwendet ssh, um Dateiübertragungen durchzuführen (im Gegensatz zu FTPS, im Grunde genommen FTP + TLS). Dies bedeutet, dass Sie, wenn Sie auf den Zielcomputer sshen können, fast immer SFTP für diesen Computer ausführen können, da er dieselben Authentifizierungsmechanismen verwendet und daher keine unterschiedlichen Server-Dämonen installieren und konfigurieren muss (dh kein pureftpd oder vsftpd). Solange Ihre Berechtigungen richtig eingestellt sind
/var/www
- was wahrscheinlich eine Frage istsudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER
-, sollten Sie SFTP sofort verwenden können.Die meisten Clientsoftware heutzutage machen SFTP ziemlich gut und Sie können auch
scp
von einer Shell auf dem Entwickler-Server aus kopieren (scp -R
kopiert ganze Ordner und ist sehr praktisch). Sie können sogar noch einen Schritt weiter gehen und die Anmeldung mit öffentlichen Schlüsseln automatisieren, sodass Sie keine Passwörter mehr eingeben müssen :)quelle
Ich würde die Verwendung von vsftpd dringend empfehlen. Es ist eines der sichersten FTP-Daemons unter Linux. Viele andere hatten in der Vergangenheit Schwachstellen und es scheint, dass es schwierig ist, FTP auf sichere Weise zu implementieren.
vsftpd startet direkt nach der Installation. Mit Ubuntu können sich lokale Benutzer anmelden. Starten Sie also Ihren FTP-Client und melden Sie sich als normaler Benutzer mit Ihrem Systemkennwort an (in meinem Beispiel wird LFTP verwendet):
Jetzt benutze ich eine Art Dateimanager (Nautilus, Shell usw.), um ein neues Verzeichnis zu erstellen
foo
und zu meinem FTP-Client zurückzukehren:Das Verzeichnis ist da und ich kann
cd
hinein und es benutzen. Dies gilt auch, wenn Sie spezielle Benutzer haben. Dort können Sie auch Verzeichnisse anlegen, auf die sofort zugegriffen werden kann. Hier ist es wichtig, nach Zugriffsrechten zu suchen.quelle
Ich empfehle demütig einen FTP-Server, den ich selbst geschrieben habe: JetFTP . Es ist sehr einfach zu installieren und zu verwenden.
Installation:
Füge meinen PPA zu deinen Software-Quellen hinzu und aktualisiere:
Führen Sie den folgenden Befehl aus:
Die Verwendung von JetFTP ist einfach - stellen Sie einfach eine Verbindung zum Port her,
8021
indem Sie einen Anmeldenamen und ein Kennwort auf dem Computer verwenden, auf dem JetFTP ausgeführt wird.quelle
Verwenden Sie kein FTP , da es sich um ein von Natur aus unsicheres Protokoll handelt, das den Benutzernamen und das Kennwort im Klartext an den Server sendet. Die Implementierung von sftp ist genauso einfach und Sie erhalten einen großen Vorteil in Bezug auf die Sicherheit Ihrer Verbindung.
quelle
Es gibt drei verschiedene Möglichkeiten, einen FTP-Server einzurichten:
(1) Anonymes FTP:
Die Benutzer können nur mit dem anonymen Konto und ohne Kennwort auf den Server zugreifen. Natürlich wird der Serveradministrator ein Limit für Uploads festlegen, um zu verhindern, dass Benutzer illegale Dateien wie Raubkopien von Musik / Filmen / Spielen ablegen.
(2) FTP mit anonymem Zugriff und Benutzer mit einem kennwortgeschützten Konto:
Mit dieser Methode können anonyme und kennwortgeschützte Benutzer den Server betreten. Sie haben nur Zugriff auf ein bestimmtes Verzeichnis, außer auf den Benutzer root, der alle Dateien und / oder Ordner anzeigen / ändern / löschen kann.
(3) FTP mit MySQL-Unterstützung für die Authentifizierung virtueller Benutzer:
Diese Methode ermöglicht den Zugriff auf den Server nur für einige Benutzergruppen, die kein Authentifizierungsshellkonto für virtuelle Benutzer auf dem System haben. Es verwendet einen externen MySQL-Server, der Benutzerinformationen speichert.
Erste Option: Anonymes FTP
Bevor Sie mit der Erstellung eines anonymen FTP-Servers beginnen, müssen Sie Ihrem System einen Benutzer mit dem Namen ftp und einem Basisverzeichnis hinzufügen. Dieser Schritt ist wirklich einfach, folgen Sie einfach diesen Befehlen:
Auf diese Weise kann nur dieses Konto in diesen Ordner schreiben. Sie können weitere Variablen verwenden, um anzugeben, was der FTP-Server tun soll. Hier sind einige Beispiele:
Zweite Option: '' 'Benutzer des anonymen und des kennwortgeschützten Kontos' ''
Befolgen Sie diese kleine Anleitung, um zu ermöglichen, dass sich anonyme und kennwortgeschützte Benutzer auf demselben Server befinden:
Dritte Option: Virtuelle Benutzer mit MySQL
Gehen Sie folgendermaßen vor, um einen Server mit MySQL-Unterstützung zu erstellen:
Laden Sie den User Manager für PureFTPd herunter und installieren Sie ihn, den Sie hier finden: http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Dekomprimieren Sie es und laden Sie seinen gesamten Inhalt in das WWW-Verzeichnis Ihres Webservers hoch. Schreiben Sie dann in Ihren Browser diesen Link http: //localhost/ftp/install.php. Befolgen Sie alle Schritte, die Sie vom Installationsprogramm aufgefordert werden. Kopieren und speichern Sie rge pureftpd-mysql .conf in pureftpd user manager verzeichnis
Getan. Der Zugriff auf das Administrationsfenster erfolgt über diesen Link http: // localhost / ftp
Weitere Optionen, die vor dem Starten des Serverprozesses hinzugefügt werden müssen
Hier finden Sie Informationen zu einigen FTP-Serveranwendungen:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
quelle
Bei der Standardinstallation von VSFTPD sind standardmäßig keine Änderungen zum Erstellen / Ändern zulässig . Sie müssen
/etc/vsftpd.conf
die folgende Zeile bearbeiten und auskommentieren ...write_enable=YES
Und zweitens müssen Sie die entsprechenden Dateisystemberechtigungen für die jeweiligen Dateien und Ordner konfigurieren.
quelle