FTP-Server mit PureFTPd, MariaDB und Virtual Users (inkl. Quota- und Bandbreitenmanagement) auf CentOS 7.2

Dieses Dokument beschreibt die Installation eines PureFTPd-Servers, der virtuelle Benutzer aus einer MariaDB (MySQL-kompatiblen) Datenbank anstelle von realen Systembenutzern verwendet. Dies ist viel performanter und ermöglicht es, Tausende von FTP-Benutzern auf einem einzigen Computer zu haben. Darüber hinaus werde ich mit diesem Setup die Verwendung von Quota und Upload/Download-Bandbreitenbegrenzungen zeigen. Passwörter werden verschlüsselt als MD5-Strings in der Datenbank gespeichert.

Für die Verwaltung der MariaDB-Datenbank können Sie webbasierte Tools wie phpMyAdmin verwenden, die auch in diesem Howto installiert werden. phpMyAdmin ist eine komfortable grafische Oberfläche, d.h. Sie müssen sich nicht mit der Kommandozeile herumschlagen.

Dieses Tutorial basiert auf CentOS 7.2. Sie sollten bereits ein minimales CentOS 7.2 Grundsystem eingerichtet haben.

Diese Anleitung ist als praktischer Leitfaden gedacht und deckt nicht die theoretischen Hintergründe ab. Sie werden in vielen anderen Dokumenten im Web behandelt.

Dieses Dokument wird ohne jegliche Garantie geliefert! Ich möchte sagen, dass dies nicht die einzige Möglichkeit ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber das ist mein Weg.

1 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100. Diese Einstellungen können für Sie unterschiedlich sein, so dass Sie sie gegebenenfalls ersetzen müssen.

2 MySQL und phpMyAdmin installieren

Zunächst aktivieren wir das EPEL-Repository auf unserem CentOS-System, da einige Pakete, die wir im Laufe dieses Tutorials installieren werden, in den offiziellen CentOS 7.2-Repositories nicht verfügbar sind:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Dann aktivieren wir das EPEL-Repository auf unserem CentOS-System, da viele der Pakete, die wir im Laufe dieses Tutorials installieren werden, nicht im offiziellen CentOS 7-Repository verfügbar sind:

yum -y install epel-release
yum -y install yum-priorities

Bearbeiten Sie /etc/yum.repos.d/epel.repo…..

nano /etc/yum.repos.d/epel.repo

…. und fügen Sie die Zeilenpriorität=10 zum Abschnitt[epel] hinzu:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

Dann aktualisieren wir unsere bestehenden Pakete auf dem System:

yum update

Nun können wir den Apache Webserver, PHP, MariaDB und phpMyAdmin wie folgt installieren:

yum -y install mariadb mariadb-server phpmyadmin httpd php

Nun konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration so, dass phpMyAdmin Verbindungen nicht nur vom localhost erlaubt (indem wir alles im <Verzeichnis /usr/share/phpMyAdmin/> stanza auskommentieren und die Zeile Require all granted hinzufügen):

nano /etc/httpd/conf.d/phpMyAdmin.conf

so dass die Datei so aussieht:

# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
    AddDefaultCharset UTF-8
#  <IfModule mod_authz_core.c>
#     # Apache 2.4
#     <RequireAny>
#       Require ip 127.0.0.1
#       Require ip ::1
#     </RequireAny>
#   </IfModule>
#   <IfModule !mod_authz_core.c>
#     # Apache 2.2
#     Order Deny,Allow
#    # Deny from All
#     Allow from 127.0.0.1
     Options Indexes
     AllowOverride None
     Require all granted
#     Allow from ::1
#   </IfModule>
</Directory>



<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>

Dann erstellen wir die Systemstartup-Links für MySQL und Apache (so dass beide beim Systemstart automatisch starten) und starten beide Dienste.

Öffnen Sie die Ports http und https, wenn die CentOS Firewall „firewalld“ auf Ihrem Server installiert ist.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Starten Sie dann MariaDB und Aapche.

systemctl enable mariadb.service
systemctl start mariadb.service
systemctl enable httpd.service
systemctl start httpd.service

Erstellen Sie ein Passwort für die MySQL-Benutzer root (ersetzen Sie Ihrmariadbpassword durch das Passwort, das Sie verwenden möchten):

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: Zeile 379: find_mysql_client: Befehl nicht gefunden

HINWEIS: ABLAUFEN ALLER TEILE DIESESESES SCHREIBERS IST FÜR ALLE MariaDB-DIENSTE
IN PRODUKTIONSNUTZUNG EMPFOHLEN!

Wenn Sie MariaDB gerade installiert haben und das Root-Passwort noch nicht festgelegt
haben, ist das Passwort leer, also sollten
Sie hier einfach die Eingabetaste drücken.<–ENTER
Geben Sie das aktuelle Passwort für root ein (geben Sie es für none ein): <–ENTER OK,
erfolgreich verwendetes Passwort, weitermachen…..

Die Festlegung des Root-Passworts stellt sicher, dass sich niemand ohne die entsprechende Berechtigung in den
MariaDB-Rootuser einloggen kann.

Root-Passwort setzen? [J/n]<–ENTER
Neues Passwort:
<–yourmariadbpassword
Geben Sie das neue Passwort erneut ein:
<–yourmariadbpassword
Passwort erfolgreich aktualisiert!
Berechtigungstabellen neu laden…. .
…. Erfolgreich!

Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es jedem
ermöglicht, sich in MariaDB einzuloggen, ohne dass ein Benutzerkonto für
ihn erstellt werden muss, das nur zum Testen und um die Installation
etwas reibungsloser zu gestalten, die Sie vor dem Wechsel in eine
Produktionsumgebung entfernen sollten.

Anonyme Benutzer entfernen? [J/n]<–ENTER
… Erfolgreich!

Normalerweise sollte root nur von’localhost‘ aus eine Verbindung herstellen dürfen, um
sicherzustellen, dass jemand das root-Passwort aus dem Netzwerk nicht erraten kann.

Root-Login remote verbieten? [J/n]<–ENTER
… Erfolgreich!

MariaDB verfügt standardmäßig über eine Datenbank mit dem Namen „test“,
auf die jeder zugreifen kann, die ebenfalls nur zum Testen gedacht ist und die vor dem Wechsel in eine Produktionsumgebung entfernt
werden sollte.

Testdatenbank und Zugriff darauf entfernen? [J/n]<–ENTER
– Testdatenbank löschen….. ….. Erfolgreich –
Entfernen von Berechtigungen für die Testdatenbank….. ….. Erfolgreich!

Durch das erneute Laden der Berechtigungstabellen wird sichergestellt, dass alle bisher
vorgenommenen Änderungen sofort wirksam werden.

Berechtigungstabellen jetzt neu laden? [J/n]<–ENTER
… Erfolgreich!

Aufräumen…..

Wenn Sie alle oben genannten Schritte durchgeführt haben, sollte Ihre MariaDB-Installation
nun sicher sein.

Danke, dass du MariaDB benutzt!
[root@server1 ~]#

3 PureFTPd mit MySQL / MariaDB Unterstützung installieren

Das CentOS PureFTPd-Paket unterstützt verschiedene Backends wie MySQL, PostgreSQL, LDAP, etc. Daher müssen wir nur das normale PureFTPd-Paket installieren:

yum -y install pure-ftpd

Dann erstellen wir eine ftp-Gruppe (ftpgroup) und einen Benutzer (ftpuser), denen alle unsere virtuellen Benutzer zugeordnet werden. Ersetzen Sie die Gruppen- und Benutzer-ID 2001 durch eine Nummer, die auf Ihrem System frei ist:

groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser

Der ftp-Dienst muss von der Firewall-cmd wie folgt zugelassen werden:

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

4 Erstellen der Datenbank für PureFTPd

Nun erstellen wir eine Datenbank namens pureftpd und einen MariaDB-Benutzer namens pureftpd, mit dem der PureFTPd-Daemon später eine Verbindung zur pureftpd-Datenbank herstellen wird:

mysql -u root -p
CREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;

Ersetzen Sie die Zeichenkette ftpdpass durch das Passwort, das Sie für den MySQL-Benutzer pureftpd verwenden möchten. Noch auf der MySQL-Shell erstellen wir die von uns benötigte Datenbanktabelle (ja, es gibt nur eine Tabelle!):

USE pureftpd;
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) ENGINE=MyISAM;
quit;

Wie Sie vielleicht bemerkt haben, haben wir mit dem Befehl quit; die MySQL-Shell verlassen und sind wieder auf der Linux-Shell.

Übrigens, (ich gehe davon aus, dass der Hostname Ihres FTP-Serversystems server1.example.com ist) können Sie unter http://server1.example.com/phpMyAdmin/ auf phpMyAdmin zugreifen (Sie können die IP-Adresse auch anstelle von server1.example.com verwenden) in einem Browser und sich als Benutzer pureftpd anmelden. Dann kannst du dir die Datenbank ansehen. Später können Sie mit phpMyAdmin Ihren PureFTPd-Server verwalten.

5 PureFTPd konfigurieren

Bearbeiten Sie /etc/pure-ftpd/pure-ftpd.conf und stellen Sie sicher, dass die Zeilen ChrootEveryone, MySQLConfigFile und CreateHomeDir aktiviert sind und so aussehen:

nano /etc/pure-ftpd/pure-ftpd.conf
[...]
ChrootEveryone              yes
[...]
MySQLConfigFile               /etc/pure-ftpd/pureftpd-mysql.conf
[...]
CreateHomeDir               yes
[...]

Die Einstellung ChrootEveryone bewirkt, dass PureFTPd jeden virtuellen Benutzer in seinem Heimatverzeichnis chroot, so dass er nicht in der Lage sein wird, Verzeichnisse und Dateien außerhalb seines Heimatverzeichnisses zu durchsuchen. Die CreateHomeDir-Zeile lässt PureFTPd das Home-Verzeichnis eines Benutzers erstellen, wenn sich der Benutzer anmeldet und das Home-Verzeichnis noch nicht existiert.

Dann bearbeiten wir /etc/pure-ftpd/pureftpd-mysql.conf. Es sollte so aussehen:

cp /etc/pure-ftpd/pureftpd-mysql.conf /etc/pure-ftpd/pureftpd-mysql.conf_orig
cat /dev/null > /etc/pure-ftpd/pureftpd-mysql.conf
nano /etc/pure-ftpd/pureftpd-mysql.conf
MYSQLSocket      /var/lib/mysql/mysql.sock
#MYSQLServer     localhost
#MYSQLPort       3306
MYSQLUser       pureftpd
MYSQLPassword   ftpdpass
MYSQLDatabase   pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt      md5
MYSQLGetPW      SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID     SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID     SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir     SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ   SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS   SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

Achten Sie darauf, dass Sie die Zeichenkette ftpdpass durch das echte Passwort für den MySQL-Benutzer pureftpd in der Zeile MYSQLPassword ersetzen! Bitte beachten Sie, dass wir md5 als MYSQLCrypt-Methode verwenden, d.h. wir speichern die Passwörter der Benutzer als MD5-String in der Datenbank, was viel sicherer ist als die Verwendung von Klartext-Passwörtern!

Nun erstellen wir die Systemstartup-Links für PureFTPd und starten sie:

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

6 Füllen der Datenbank und Testen des Servers

Um die Datenbank zu füllen, kannst du die MySQL-Shell verwenden:

mysql -u root -p
USE pureftpd;

Nun erstellen wir den Benutzer exampleuser mit dem Status 1 (d.h. sein ftp-Konto ist aktiv), das Passwortgeheimnis (das mit MySQLs MD5-Funktion verschlüsselt gespeichert wird), die UID und GID 2001 (verwenden Sie die Userid und Groupid des am Ende des zweiten Schrittes erstellten Benutzers/Gruppe!), das Home-Verzeichnis /home/www.example.com, eine Upload- und Download-Bandbreite von 100 KB/sec. (Kilobytes pro Sekunde) und eine Quote von 50 MB:

INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('exampleuser', '1', MD5('secret'), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');
quit;

Öffnen Sie nun Ihr FTP-Client-Programm auf Ihrem Arbeitsplatz (z.B. FileZilla auf einem Windows-System oder gFTP auf einem Linux-Desktop) und versuchen Sie eine Verbindung herzustellen. Als Hostname verwenden Sie server1.example.com (oder die IP-Adresse des Systems), der Benutzername ist exampleuser, und das Passwort ist geheim.

Verbinden Sie sich mit FileZilla mit dem FTP-Server.

Wenn du dich verbinden kannst – herzlichen Glückwunsch! Wenn nicht, ist etwas schief gelaufen.

Wenn du jetzt rennst.

ls -l /home

Sie sollten sehen, dass das Verzeichnis /home/www.example.com (Heimatverzeichnis des Beispiel-Benutzers) automatisch erstellt wurde und sich im Besitz von ftpuser und ftpgroup (dem Benutzer/Gruppe, die wir am Ende von Schritt zwei erstellt haben) befindet:

[root@server1 ~]# ls -l /home
total 0
drwx------. 2 administrator administrator 59 Jun 21 16:13 administrator
drwxr-xr-x. 2 ftpuser ftpgroup 22 Jul 4 18:30 www.example.com
[root@server1 ~]#

7 Datenbankverwaltung

Für die meisten Menschen ist es einfacher, wenn sie ein grafisches Frontend zu MySQL haben; deshalb können Sie auch phpMyAdmin (in diesem Beispiel unter http://server1.example.com/phpMyAdmin/) verwenden, um die pureftpd-Datenbank zu verwalten.

Das PHPMyAdmin Dashboard

Die pure-ftpd MySQL-Datenbank

Wann immer Sie einen neuen Benutzer anlegen wollen, müssen Sie einen Eintrag in der Tabelle ftpd anlegen, damit ich die Spalten dieser Tabelle hier erläutern kann:

FTPD-Tabelle:

  • User: Der Name des virtuellen PureFTPd-Benutzers (z.B. exampleuser).
  • Status: 0 oder 1. 0 bedeutet, dass das Konto deaktiviert ist, der Benutzer kann sich nicht anmelden.
  • Passwort: Das Passwort des virtuellen Benutzers. Stellen Sie sicher, dass Sie die MD5-Funktion von MySQL verwenden, um das Passwort verschlüsselt als MD5-String zu speichern:
    Füge einen FTP-Benutzer hinzu.
  • UID: Die Benutzerkennung des FTP-Benutzers, den Sie am Ende von Schritt zwei erstellt haben (z.B. 2001).
  • GID: Die Groupid der FTP-Gruppe, die Sie am Ende von Schritt zwei erstellt haben (z.B. 2001).
  • Dir: Das Home-Verzeichnis des virtuellen PureFTPd-Benutzers (z.B. /home/www.example.com). Wenn es nicht existiert, wird es erstellt, wenn sich der neue Benutzer das erste Mal per FTP anmeldet. Der virtuelle Benutzer wird in dieses Home-Verzeichnis eingesperrt, d.h. er kann nicht auf andere Verzeichnisse außerhalb seines Home-Verzeichnisses zugreifen.
  • ULBandwidth: Upload-Bandbreite des virtuellen Benutzers in KB/sec. (Kilobyte pro Sekunde). 0 bedeutet unbegrenzt.
  • DLBandwidth: Download-Bandbreite des virtuellen Benutzers in KB/sec. (Kilobyte pro Sekunde). 0 bedeutet unbegrenzt.
  • Kommentar: Hier können Sie einen beliebigen Kommentar (z.B. für Ihre interne Verwaltung) eingeben. Normalerweise lässt du dieses Feld leer.
  • ipaccess: Geben Sie hier IP-Adressen ein, die eine Verbindung zu diesem FTP-Konto herstellen dürfen. * bedeutet, dass jede IP-Adresse eine Verbindung herstellen darf.
  • QuotaSize: Speicherplatz in MB (nicht KB, wie in ULBandwidth und DLBandwidth!), den der virtuelle Benutzer auf dem FTP-Server verwenden darf. 0 bedeutet unbegrenzt.
  • QuotaFiles: Anzahl der Dateien, die der virtuelle Benutzer auf dem FTP-Server speichern darf. 0 bedeutet unbegrenzt.

8 Anonymes FTP

Wenn Sie ein anonymes FTP-Konto erstellen möchten (ein FTP-Konto, zu dem sich jeder ohne Passwort anmelden kann), benötigen Sie einen Benutzer und eine Gruppe namens ftp. Beide wurden bei der Installation des pure-ftpd-Pakets automatisch erstellt, so dass Sie sie nicht manuell erstellen müssen. Allerdings ist der Homedir von ftp standardmäßig /var/ftp, aber ich möchte das anonyme ftp-Verzeichnis in /home/ftp erstellen (die ftp-Verzeichnisse der normalen Benutzer befinden sich ebenfalls in /home, z.B. /home/www.example.com). Aber natürlich kannst du das Verzeichnis /var/ftp für anonymes ftp verwenden, wenn du es bevorzugst.

Wenn Sie /home/ftp verwenden möchten, öffnen Sie /etc/passwd und ändern Sie das Homedir des ftp-Benutzers von /var/ftp auf /home/ftp (nicht tun, wenn Sie /var/ftp verwenden möchten):

nano /etc/passwd
[...]
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
ftp:x:14:50:FTP User:/home/ftp:/sbin/nologin
[...]

Verschieben Sie dann /var/ftp nach /home (nicht tun, wenn Sie /var/ftp verwenden wollen):

mv /var/ftp /home

Dann erstellen wir das Verzeichnis /home/ftp/incoming, in dem anonyme Benutzer Dateien hochladen können. Wir werden die Berechtigungen /home/ftp/incoming directory von 311 vergeben, damit Benutzer Dateien in diesem Verzeichnis hochladen, aber nicht sehen oder herunterladen können. Das Verzeichnis /home/ftp hat die Berechtigungen 555, was das Anzeigen und Herunterladen von Dateien ermöglicht:

chown ftp:nobody /home/ftp
cd /home/ftp
mkdir incoming
chown ftp:nobody incoming/
chmod 311 incoming/
cd ../
chmod 555 ftp/

(Wenn Sie stattdessen /var/ftp verwenden möchten, ersetzen Sie /home/ftp durch /var/ftp in den obigen Befehlen.)

Anonyme Benutzer können sich einloggen, und sie dürfen Dateien von /home/ftp herunterladen, aber die Uploads sind auf /home/ftp/incoming beschränkt (und sobald eine Datei in /home/ftp/incoming hochgeladen wurde, kann sie nicht mehr gelesen oder von dort heruntergeladen werden; der Serveradministrator muss sie zuerst in /home/ftp verschieben, um sie anderen zugänglich zu machen).

Jetzt müssen wir PureFTPd für anonymes ftp konfigurieren. Öffnen Sie die Datei /etc/pure-ftpd/pure-ftpd.conf und stellen Sie sicher, dass Sie die folgenden Einstellungen darin haben:

nano /etc/pure-ftpd/pure-ftpd.conf
[...]
NoAnonymous                 no
[...]
AntiWarez                   no
[...]
AnonymousBandwidth            8
[...]
AnonymousCantUpload         no
[...]

(Die Einstellung AnonymousBandwidth ist optional – sie ermöglicht es Ihnen, die Upload- und Download-Bandbreiten für anonyme Benutzer zu begrenzen. 8 bedeutet 8 KB/sec. Verwenden Sie einen beliebigen Wert oder kommentieren Sie die Zeile aus, wenn Sie die Bandbreite nicht begrenzen möchten.)

Abschließend starten wir PureFTPd neu:

systemctl restart pure-ftpd.service

9 Laden Sie diesen CentOS 7.2-Server als virtuelle Maschine herunter.

Dieses Setup ist als Download der virtuellen Maschine im Eva/ovf-Format (kompatibel mit VMWare und Virtualbox) für Howtoforge-Abonnenten verfügbar.

Anmeldedaten für die VM

  • Das root-Passwort lautet: howtoforge
  • Das Passwort des Benutzers „administrator“ lautet: howtoforge

Bitte ändern Sie beide Passwörter beim ersten Login.

  • Die IP-Adresse der VM ist 192.168.1.100.

10 Links

Das könnte dich auch interessieren …