it-swarm-eu.dev

Einfacher Ubuntu FTP Server

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

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 Benutzer ftpman 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, stellen Sie sicher, dass der WWW-Ordner chmod ist, wenn Sie Fehler erhalten, die für die von Ihnen erstellte Benutzer-/Gruppenkombination bereits vorhanden sind.

Zuletzt, wenn Sie den SSH-Zugriff für dieses Konto sperren möchten, führen Sie Folgendes aus: Sudo chsh -s /bin/false ftpman, wodurch die Shell dieses Benutzers auf false geändert wird. (Ersetzen Sie ftpman durch Ihren ftp-Benutzer)

42
Marco Ceppi

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 verwenden können, da dieselben Authentifizierungsmechanismen verwendet werden und keine unterschiedlichen Server-Daemons installiert und konfiguriert werden müssen (d. H. Kein pureftpd oder vsftpd). Solange Ihre Berechtigungen für /var/www korrekt eingestellt sind - was wahrscheinlich eine Frage von Sudo chmod g+w /var/www; Sudo usermod -g $USER -G www-data $USER ist - sollten Sie in der Lage sein, SFTP sofort zu verwenden.

Die meisten Clientsoftware heutzutage machen SFTP recht gut und Sie können auch scp von einer Shell auf dem Entwickler-Server verwenden, um Inhalte zu 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 :)

10
Ben Williams

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):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp [email protected]:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

Jetzt benutze ich eine Art Dateimanager (Nautilus, Shell usw.), um ein neues Verzeichnis foo zu erstellen und zu meinem FTP-Client zurückzukehren:

ftp [email protected]:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

Das Verzeichnis ist da und ich kann cd hinein und es verwenden. Dies gilt auch, wenn Sie spezielle Benutzer haben. Dort können Sie auch Verzeichnisse anlegen, auf die Sie sofort zugreifen können. Hier ist es wichtig, nach Zugriffsrechten zu suchen.

5
qbi

Ich empfehle demütig einen FTP-Server, den ich selbst geschrieben habe: JetFTP . Es ist extrem einfach zu installieren und zu verwenden.


Installation:

  • Füge meinen PPA zu deinen Software-Quellen hinzu und aktualisiere:

    Sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Führen Sie den folgenden Befehl aus:

    Sudo apt-get install jetftp
    
  • Das ist es!

Die Verwendung von JetFTP ist einfach - stellen Sie einfach eine Verbindung zu Port 8021 her, indem Sie einen Anmeldenamen und ein Kennwort auf dem Computer verwenden, auf dem JetFTP ausgeführt wird.

3
Nathan Osman

Verwenden Sie nicht ftp, es ist ein inhärent unsicheres Protokoll, da es 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.

2
Stuart

Bei der Standardinstallation von VSFTPD ist standardmäßig kein Änderungen erstellen/ändern zulässig. Sie müssen /etc/vsftpd.conf bearbeiten und die folgende Zeile auskommentieren ...

write_enable=YES

Und zweitens müssen Sie die entsprechenden Dateisystemberechtigungen für die jeweiligen Dateien und Ordner konfigurieren.

0
Simon East

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 Shell-Konto für die Authentifizierung virtueller 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:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

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:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

Zweite Option: '' 'Sowohl anonyme als auch kennwortgeschützte Kontonutzer' ''

Befolgen Sie diese kleine Anleitung, um zu ermöglichen, dass sich anonyme und kennwortgeschützte Benutzer auf demselben Server befinden:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

Dritte Option: Virtuelle Benutzer mit MySQL

Gehen Sie folgendermaßen vor, um einen Server mit MySQL-Unterstützung zu erstellen:

Downloaden und installieren Sie den User Manager für PureFTPd, 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 das pureftpd-Benutzermanagerverzeichnis

Getan. Zugriff auf das Administrationsfenster über diesen Link http: // localhost/ftp

Weitere Optionen, die Sie hinzufügen müssen, bevor Sie den Serverprozess starten

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

Und sehen Sie dies für einige FTP-Server-Anwendung:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html

0
Sajad Bahmani