So installieren und konfigurieren Sie einen FTP-Server mit virtuellen Pure-FTPd + -Benutzern

Ich bin einer von denen, die gerne innovieren und neue Dinge lernen. Vor nicht allzu langer Zeit musste ich einen FTP-Server installieren und konfigurieren und entschied mich dafür, es anders zu machen als immer.

In diesem Fall habe ich mich für einen FTP-Dienst mit virtuellen Benutzern entschieden, Benutzern, die in einer verschlüsselten Datei gespeichert werden (Benutzer, Kennwort, Einstellungen usw.), alle mit Reines FTPd.

Hier zeige ich Ihnen, wie es geht ... nun, fangen wir an 😉

Geben Sie zunächst an, dass die Befehle in diesem Lernprogramm für Distributionen wie Debian bestimmt sind oder auf diesen basieren. Wenn jedoch jemand eine andere Distribution auf seinem Server verwendet, muss er dieselben Pakete installieren und die unten festgelegten Einstellungen verwenden. Dies ist das einzige, was geändert werden muss ist der Installationsbefehl.

Alle Befehle, die sie lesen, werden als root ausgeführt. Wenn Sie möchten, können Sie jeder Zeile "sudo" voranstellen.

1. Zuerst müssen wir Pure FTPd installieren:

apt-get install pure-ftpd

Die Ausgabe endet ungefähr so:

Installation-pure-ftpd

2. Der Dienst ist bereits aktiviert, aber er ist nutzlos, wenn wir ihn nicht richtig konfiguriert haben. Lassen Sie uns eine umfangreiche Konfigurationsdatei einfügen, die jedoch fast Standard ist. Sie enthält die normale Datei und stellt fest, dass anonyme Benutzer nicht zulässig sind usw. usw.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. Angenommen, unser FTP-Ordner lautet / var / www / ftp /, und wir möchten einen Benutzer erstellen, der Informationen in den Ordner / var / www / ftp / sysadmin / hochladen kann. Fügen Sie Folgendes in ein Terminal ein:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

Dies bedeutet Folgendes:

pure-pw: Befehl zum Bearbeiten von Pure-FTPd-Benutzern
useradd: Wir geben an, dass wir einen Benutzer hinzufügen werden
sysadmin: Der Benutzer, den ich erstellen möchte
-u 2001: Benutzer-ID dieses Benutzers
-g 2001: Gruppen-ID dieses Benutzers
-d / var / www / ftp / sysadmin /: Der Ordner, in dem sich dieser Benutzer befindet, dh in den er die Dinge hochlädt

Wenn Sie die vorherige Zeile eingeben, werden Sie nach dem Passwort dieses Benutzers gefragt.

Sie müssen zuvor den Ordner sysadmin in / var / www / ftp / erstellt haben

4. Jetzt müssen sie die Benutzerdatenbankdatei aktualisieren. Dazu geben wir den Ordner / etc / pure-ftpd / (cd / etc / pure-ftpd) ein und geben ihn in das Terminal ein:

pure-pw mkdb

5. Jetzt müssen wir Pure-FTPd starten, aber angeben, dass wir die virtuelle Benutzerdatei verwenden werden, beenden wir zuerst den Dienst:

/etc/init.d/pure-ftpd stop

Dann stellen wir sicher, dass es nicht standardmäßig normal startet:

chmod -x /etc/init.d/pure-ftpd

Und jetzt starten wir den Service auf unsere Weise:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. Wenn sie versuchen, eine Anwendung wie Filezilla zu verwenden, werden sie feststellen, dass sie ohne Probleme eine Verbindung mit dem erstellten Benutzer herstellen können. Sie können jedoch nichts kopieren oder Verzeichnisse erstellen. Dies liegt daran, dass sich der Ordner / var / www / ftp / sysadmin / (die Startseite des Benutzers) befindet gemäß dem Beispiel) hat nicht die entsprechenden Berechtigungen, es wird behoben mit:

chown -R 2001:2001 /var/www/ftp/sysadmin/

Denken Sie daran, dass Uid und Gid 2001 derjenige des Benutzers sind, den wir erstellt haben. Wir haben ihn mit dem Befehl im vorherigen Schritt 3 😉 erstellt

7. Um den Dienst zu beenden, drücken Sie einfach [Strg] + [C] im selben Terminal oder führen Sie in einem anderen Terminal Folgendes aus:

killall pure-ftpd

Jetzt geben wir an, dass der Dienst beim Start des Servers automatisch mit dem System gestartet wird. Dazu ändern wir die Datei /etc/rc.local und geben vor der letzten Zeile mit der Aufschrift "exit 0" den Befehl ein, mit dem wir den FTP-Dienst starten:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

Mit anderen Worten würde es so aussehen:

rc-local-pure-ftpd

Sie können die Datei mit nano, vi oder Ihrem bevorzugten Editor bearbeiten oder, wenn Sie möchten, diesen Befehl kopieren und einfügen, um Ihre Arbeit zu erleichtern:

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

... ja ja ... wie Sie lesen, «erleichtern», ist es ein umfangreicher Befehl ja, aber es ist einfach, Text durch Perl und ein harmloses Echo zu ersetzen 🙂

8. Sobald dies erledigt ist, starten Sie den Server neu und Sie werden sehen, dass der pure-ftpd-Dienst gestartet und betriebsbereit ist 😀

Wie lösche ich Benutzer?

Wie ich dir schon sagte, der Befehl rein-pw ist das, was wir brauchen, um Benutzer zu manipulieren, um einen Benutzer (zum Beispiel sysadmin) zu löschen. Lassen Sie uns Folgendes sagen:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

Denken Sie daran, dass Sie bei jeder Änderung an einem Benutzer die virtuelle Datenbankdatei der Benutzer neu generieren müssen. Sie befindet sich in / etc / pure-ftpd / und wird mit pure-pw mkdb generiert / aktualisiert

Wie auch immer, Freunde, ich denke, es gibt nicht viel mehr hinzuzufügen, laden Sie ein, die Hilfe von pure-pw zu lesen, da es uns viel mehr erlaubt als das, was ich Ihnen hier gezeigt habe (dies ist nur ein kurzes und fast einfaches Tutorial).

Vor ein oder zwei Jahren war ich einer von denen, die alles mit OpenLDAP oder MySQL verknüpft haben, aber im Laufe der Zeit wurde mir klar, dass so viele Verbindungen zu Datenbanken, die Server als solche sind, einen Verbrauch erzeugen, den wir uns oft nicht leisten können. Aus diesem Grund die Verwendung vollständig praktikabler Alternativen wie die Verwendung von Datenbanken in den eigenen Dateien der Anwendung, wie z. B. Pure-FTPd .pdb 🙂

Bei Zweifeln oder Fragen werde ich versuchen, so viel wie möglich zu helfen.

Grüße und… viel Spaß beim Hacken!


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   lebhaft sagte

    Das das .. Dokumentation bei Fehlern 😀

    1.    KZKG ^ Gaara sagte

      Und ich schreibe bereits den Beitrag darüber, wie man Nginx + MySQL + Spawn_FastCGI wie in Justice installiert, und dank dessen funktioniert der Blog so gut :)

      Ich hoffe, es für morgen oder übermorgen fertig zu haben.

  2.   Rodolfo sagte

    Guter Post; Es ist lustig, dass ich in letzter Zeit Schwierigkeiten hatte, meinen FTP-Server zu installieren, obwohl ich es mit vsftpd nicht konnte. Ich ging zu Pure-FTP und ging zu Fuß. Wenn ich denke, dass ich vermisse, ist ein Beispiel für die klare Konf. Die Dokumentation ist sehr gut, aber zumindest die Grundlagen . Verschlüsselung oder zumindest der Forwading-Port für den Fall, dass ein Router verwendet wird.
    Übrigens mit diesem Befehl pure-ftpwho informiert Sie, wer mit dem Server verbunden ist und ob etwas heruntergeladen wird;).
    Und Ihrer Meinung nach ist es nicht so notwendig, eine Datenbank einzurichten, um eine Verbindung zum Server herzustellen.

    1.    KZKG ^ Gaara sagte

      Danke für den Kommentar 🙂

      Ja, in der Tat habe ich nicht viele Dinge (alles in der Tat) in der Konfiguration erklärt. Ich habe angenommen, dass jemand, der weiß, wie man einen Server verwaltet, der einen FTP-Dienst installieren möchte, keine größeren Probleme beim Lesen der Kommentare der conf-Datei hat ^ - ^

      Grüße und nochmals vielen Dank für den Kommentar

  3.   tahuri sagte

    Hallo Sehr guter Beitrag, ich verwende (oder zumindest vorerst) vsftpd, aber ich habe einige Probleme damit, und ich wollte sehen, ob mir das passiert ist. Haben Sie eine URL oder ein Dokument, um zu sehen, wie die Konfiguration ist?

    Vielen Dank };)

    1.    KZKG ^ Gaara sagte

      Sie können die Konfiguration hier sehen: http://ftp.desdelinux.net/pure-ftpd.conf
      Bei Fragen oder wenn Sie etwas brauchen, öffnen Sie einen Thread im Forum, dem wir Ihnen gerne helfen 🙂

  4.   Atheios sagte

    Sehr gut 😀

    Nur eine Kleinigkeit: Dem Perl-Befehl fehlt das Symbol ^, sodass der andere Exit 0 in den Kommentaren nicht geändert wird:

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    Grüße

  5.   Omar sagte

    Hervorragend, ich habe nur eine Frage, wie kann ich einen schreibgeschützten Benutzer erstellen? Ich benutze Centos 6.5, pureftpd, ispconfig und Grafikmodus.

    Ich benutze ispconfig nur für ftp

    Grüße und Dank

  6.   Monsun sagte

    Diese Art der Installation von pureftp ist ein ASCO. Sie lassen den Dienst als root ausgeführt, erstellen einen virtuellen Benutzer und ändern dann die Berechtigungen für das Dateisystem. Die Art und Weise, wie das Paket installiert ist, ist einsatzbereit. Alle diese Schritte müssen nicht ausgeführt werden

    1.    lebhaft sagte

      Sie sind eingeladen, einen weniger "ekelhaften" Leitfaden zu veröffentlichen. 😉

    2.    Sedlav sagte

      Was schlägst du vor? Stellen Sie den FTP-Server so ein, dass er einen Port abhört> 1024? Wenn der FTP-Server seinen Standardport überwacht: 22, muss er als Root ausgeführt werden, es sei denn, Sie ändern die Funktionen des Kernels. Wenn Sie die Sicherheit verbessern möchten, verwenden Sie ein MAC-Framework mit SELinux. Eine andere Variante besteht darin, den Server ins Gefängnis zu bringen ftp.

  7.   Ll Schneider sagte

    Der Link für die pure-ftpd.conf ist ausgefallen oder nicht vorhanden. Können Sie es wiederherstellen?
    dank

  8.   Anlagen sagte

    2 Jahre später ist der Link zur Datei pure-ftpd.conf immer noch nicht verfügbar 🙁