Hosting Anleitung · 13 min read · Nov 24, 2025
Virtuelles Hosting Mit PureFTPd Und MySQL (Incl. Quota Und Bandbreitenmanagement) Auf OpenSUSE 13.2
Virtuelles Hosting Mit PureFTPd Und MySQL (Incl. Quota Und Bandbreitenmanagement) Auf OpenSUSE 13.2
Version 1.0
Autor: Srijan Kishore
Folge howtoforge auf Twitter
Zuletzt bearbeitet am 19. Nov. 2014
Dieses Dokument beschreibt, wie man einen PureFTPd-Server installiert, der virtuelle Benutzer aus einer MySQL-Datenbank anstelle von echten Systembenutzern verwendet. Dies ist viel leistungsfähiger und ermöglicht es, Tausende von FTP-Benutzern auf einer einzelnen Maschine zu haben. Darüber hinaus werde ich die Verwendung von Quoten und Upload-/Download-Bandbreitenlimits mit diesem Setup zeigen. Passwörter werden verschlüsselt als MD5-Strings in der Datenbank gespeichert.
Für die Verwaltung der MySQL-Datenbank können Sie webbasierte Tools wie phpMyAdmin verwenden, das ebenfalls in diesem Howto installiert wird. phpMyAdmin ist eine komfortable grafische Schnittstelle, was bedeutet, dass Sie sich nicht mit der Befehlszeile herumschlagen müssen.
Dieses Dokument kommt ohne jegliche Gewährleistung! Ich möchte sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle.
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls ersetzen. Sie müssen eine grundlegende Open Suse-Installation haben, bevor Sie mit dem beschriebenen Vorgehen in diesem Tutorial fortfahren.
2 Installieren Sie MariaDB, Apache2 und phpMyAdmin
MariaDB, Apache und die von phpMyAdmin benötigten PHP-Module können wie folgt installiert werden:
zypper install mariadb mariadb-client apache2 apache2-mod_php5 php5-mysql php5-mcrypt php5-mbstring php5-gdserver1:~ # zypper install mariadb mariadb-client apache2 apache2-mod_php5 php5-mysql php5-mcrypt php5-mbstring php5-gd
Lade Repository-Daten...
Lese installierte Pakete...
Löse Paketabhängigkeiten auf...
Problem: php5-mysql-5.6.1-4.1.x86_64 benötigt php5 = 5.6.1, kann aber nicht bereitgestellt werden
nicht installierbare Anbieter: php5-5.6.1-1.1.x86_64[openSUSE-13.2-0]
php5-5.6.1-1.1.i586[repo-oss]
php5-5.6.1-1.1.x86_64[repo-oss]
php5-5.6.1-4.1.i586[repo-update]
php5-5.6.1-4.1.x86_64[repo-update]
Lösung 1: Folgende Aktionen werden durchgeführt:
installiere php5-mysql-5.6.1-4.1.x86_64 nicht
installiere php5-mcrypt-5.6.1-4.1.x86_64 nicht
installiere php5-gd-5.6.1-4.1.x86_64 nicht
Lösung 2: Folgende Aktionen werden durchgeführt:
installiere php5-mcrypt-5.6.1-4.1.x86_64 nicht
installiere apache2-mod_php5-5.6.1-4.1.x86_64 nicht
installiere php5-gd-5.6.1-4.1.x86_64 nicht
installiere php5-mbstring-5.6.1-4.1.x86_64 nicht
installiere php5-mysql-5.6.1-4.1.x86_64 nicht
Lösung 3: Folgende Aktionen werden durchgeführt:
installiere php5-mcrypt-5.6.1-4.1.x86_64 nicht
installiere apache2-mod_php5-5.6.1-4.1.x86_64 nicht
installiere php5-gd-5.6.1-4.1.x86_64 nicht
installiere php5-mbstring-5.6.1-4.1.x86_64 nicht
Lösung 4: Folgende Aktionen werden durchgeführt:
installiere php5-mcrypt-5.6.1-4.1.x86_64 nicht
installiere apache2-mod_php5-5.6.1-4.1.x86_64 nicht
installiere php5-gd-5.6.1-4.1.x86_64 nicht
installiere php5-mbstring-5.6.1-4.1.x86_64 nicht
Lösung 5: Folgende Aktionen werden durchgeführt:
installiere php5-mcrypt-5.6.1-4.1.x86_64 nicht
installiere apache2-mod_php5-5.6.1-4.1.x86_64 nicht
installiere php5-gd-5.6.1-4.1.x86_64 nicht
installiere php5-mbstring-5.6.1-4.1.x86_64 nicht
Lösung 6: Folgende Aktionen werden durchgeführt:
installiere php5-mcrypt-5.6.1-4.1.x86_64 nicht
installiere apache2-mod_php5-5.6.1-4.1.x86_64 nicht
installiere php5-gd-5.6.1-4.1.x86_64 nicht
installiere php5-mbstring-5.6.1-4.1.x86_64 nicht
Lösung 7: Deinstallation von patterns-openSUSE-minimal_base-conflicts-20141007-2.1.x86_64
Lösung 8: breche php5-mysql-5.6.1-4.1.x86_64, indem einige seiner Abhängigkeiten ignoriert werden
Wählen Sie aus den obigen Lösungen eine Nummer oder brechen Sie ab [1/2/3/4/5/6/7/8/c] (c): <--7Dann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
systemctl enable mysql.service
systemctl start mysql.serviceUm die MySQL-Installation zu sichern, führen Sie aus:
mysql_secure_installationserver1:~ # mysql_secure_installation
/usr/bin/mysql_secure_installation: Zeile 379: find_mysql_client: Befehl nicht gefunden
HINWEIS: ES WIRD EMPFOHLEN, ALLE TEILE DIESES SKRIPTS FÜR ALLE MariaDB
SERVER IM PRODUKTIONSEINSATZ AUSZUFÜHREN! BITTE JEDEN SCHRITT SORGFÄLTIG LESEN!
Um sich bei MariaDB anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade installiert haben und
Sie das Root-Passwort noch nicht festgelegt haben, ist das Passwort leer,
also sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines):
OK, Passwort erfolgreich verwendet, weiter...
Das Festlegen des Root-Passworts stellt sicher, dass niemand ohne die richtige
Autorisierung auf den MariaDB-Root-Benutzer zugreifen kann.
Root-Passwort festlegen? [Y/n] <--ENTER
Neues Passwort: <--mariadbpassword
Neues Passwort erneut eingeben: <--mariadbpassword
Passwort erfolgreich aktualisiert!
Aktualisiere Berechtigungstabellen..
... Erfolg!
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es jedem
ermöglicht, sich bei MariaDB anzumelden, ohne dass ein Benutzerkonto für
ihn erstellt werden muss. Dies ist nur für Testzwecke gedacht und soll
die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen,
bevor Sie in eine Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] <--ENTER
... Erfolg!
Normalerweise sollte root nur von 'localhost' aus verbinden dürfen. Dies
sichert, dass niemand das Root-Passwort über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] <--ENTER
... Erfolg!
Standardmäßig kommt MariaDB mit einer Datenbank namens 'test', auf die jeder
zugreifen kann. Dies ist ebenfalls nur für Testzwecke gedacht und sollte
entfernt werden, bevor Sie in eine Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <--ENTER
- Testdatenbank wird gelöscht...
... Erfolg!
- Berechtigungen für die Testdatenbank werden entfernt...
... Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle bisher
getätigten Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] <--ENTER
... Erfolg!
Aufräumen...
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben, sollte Ihre
MariaDB-Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!
server1:~ #Jetzt sollte Ihre MySQL-Installation gesichert sein.
Dann erstellen wir die Systemstartlinks für Apache (damit es automatisch startet, wenn das System bootet) und starten es:
systemctl enable apache2.service
systemctl start apache2.servicephpMyAdmin kann wie folgt installiert werden:
zypper install phpmyadminUm sicherzustellen, dass wir auf phpMyAdmin zugreifen können, bearbeiten Sie die Datei wie folgt:
vi /etc/apache2/conf.d/phpMyAdmin.confFügen Sie den Alias wie folgt hinzu:
Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin
Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin
[...]Bevor wir Apache starten, müssen wir den Link folgen und Änderungen in httpd.conf vornehmen.
vi /etc/apache2/httpd.conf
Hinweis: Wenn die Dateiwerten unterschiedlich sind, ändern Sie den Wert wie folgt:
Kommentieren Sie diese Zeilen aus und fügen Sie diese Zeilen hinzu:
#
# Options None
# AllowOverride None
# Order deny,allow
# Deny from all
#
Options None
AllowOverride None
Require all denied
Als nächstes müssen wir die Konfigurationsdatei für phpmyadmin erstellen:
cd /srv/www/htdocs/phpMyAdmin
cp config.sample.inc.php config.inc.phpIn der Konfigurationsdatei sehen Sie, dass phpmyadmin eine Datenbank namens “phpmyadmin” erwartet, die die pma-Tabellen enthält:
[...]
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
[...] Also erstellen wir eine:
echo "create database phpmyadmin;" | mysql -u root -p 'mariadbpassword'und laden die Tabellen aus den phpmyadmin-Dokumenten.
mysql -u root -p 'mariadbpassword' < /usr/share/doc/packages/phpMyAdmin/examples/create_tables.sqlJetzt starten Sie den Apache-Dienst
systemctl enable apache2.service
systemctl restart apache2.serviceJetzt können wir auf phpmyadmin unter http://192.168.0.100/phpmyadmin oder http://server1.example.com zugreifen

3 Installieren Sie PureFTPd Mit MySQL-Unterstützung
Das PureFTPd-Paket von OpenSUSE unterstützt verschiedene Backends wie MySQL, PostgreSQL, LDAP usw. Daher müssen wir nur das normale PureFTPd-Paket installieren:
zypper install pure-ftpdDann erstellen wir eine FTP-Gruppe (ftpgroup) und einen Benutzer (ftpuser), auf die alle unsere virtuellen Benutzer abgebildet 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 ftpuser4 Erstellen Sie die MySQL-Datenbank für PureFTPd
Jetzt erstellen wir eine Datenbank namens pureftpd und einen MySQL-Benutzer namens pureftpd, den der PureFTPd-Daemon später verwenden wird, um sich mit der pureftpd-Datenbank zu verbinden:
mysql -u root -pCREATE 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 den String ftpdpass durch das Passwort, das Sie für den MySQL-Benutzer pureftpd verwenden möchten. Immer noch in der MySQL-Shell erstellen wir die Datenbanktabelle, die wir benötigen (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;Sie können jetzt phpMyAdmin unter http://server1.example.com/phpMyAdmin/ (Sie können auch die IP-Adresse anstelle von server1.example.com verwenden) in einem Browser aufrufen und sich als Benutzer pureftpd anmelden. Dann können Sie sich die Datenbank ansehen. Später können Sie phpMyAdmin verwenden, um Ihren PureFTPd-Server zu verwalten.
5 Konfigurieren Sie PureFTPd
Bearbeiten Sie /etc/pure-ftpd/pure-ftpd.conf und stellen Sie sicher, dass die Zeilen ChrootEveryone, AnonymousOnly, MySQLConfigFile und CreateHomeDir aktiviert sind und so aussehen:
vi /etc/pure-ftpd/pure-ftpd.conf[...]
ChrootEveryone yes
[...]
AnonymousOnly no
[...]
MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf
[...]
CreateHomeDir yes
[...] Die Einstellung ChrootEveryone sorgt dafür, dass PureFTPd jeden virtuellen Benutzer in sein Heimatverzeichnis chrootet, sodass er nicht in Verzeichnisse und Dateien außerhalb seines Heimatverzeichnisses browsen kann. Die Zeile CreateHomeDir sorgt dafür, dass PureFTPd das Heimatverzeichnis eines Benutzers erstellt, wenn der Benutzer sich anmeldet und das Heimatverzeichnis noch nicht existiert. AnonymousOnly muss auf nein gesetzt werden, da sonst nur anonyme FTP-Sitzungen erlaubt sind.
Dann erstellen wir /edit /etc/pure-ftpd/pureftpd-mysql.conf. Es sollte so aussehen:
vi /etc/pure-ftpd/pureftpd-mysql.confMYSQLSocket /var/run/mysql/mysql.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() oder password() - md5 ist SEHR EMPFEHLENSWERT gegenüber Klartext
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")Stellen Sie sicher, dass Sie den String ftpdpass durch das tatsächliche Passwort für den MySQL-Benutzer pureftpd in der Zeile MYSQLPassword ersetzen! Bitte beachten Sie, dass wir md5 als MYSQLCrypt-Methode verwenden, was bedeutet, dass wir die Passwörter der Benutzer als MD5-String in der Datenbank speichern, was viel sicherer ist als die Verwendung von Klartext-Passwörtern!
Jetzt erstellen wir die Systemstartlinks für PureFTPd und starten es:
systemctl enable pure-ftpd
systemctl start pure-ftpd6 Füllen Sie die Datenbank und testen Sie
Um die Datenbank zu füllen, können Sie die MySQL-Shell verwenden:
mysql -u root -pUSE pureftpd;Jetzt erstellen wir den Benutzer exampleuser mit dem Status 1 (was bedeutet, dass sein FTP-Konto aktiv ist), das Passwort secret (das verschlüsselt mit der MD5-Funktion von MySQL gespeichert wird), die UID und GID 2001 (verwenden Sie die Benutzer-ID und Gruppen-ID des Benutzers/der Gruppe, die Sie am Ende von Schritt zwei erstellt haben!), das Heimatverzeichnis /home/www.example.com, eine Upload- und Download-Bandbreite von 100 KB/s (Kilobyte 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;Jetzt öffnen Sie Ihr FTP-Client-Programm auf Ihrer Arbeitsstation (etwas wie WS_FTP oder SmartFTP, wenn Sie ein Windows-System verwenden, oder gFTP auf einem Linux-Desktop) und versuchen Sie, eine Verbindung herzustellen. Als Hostnamen verwenden Sie server1.example.com (oder die IP-Adresse des Systems), der Benutzername ist exampleuser und das Passwort ist secret.
Wenn Sie sich verbinden können - herzlichen Glückwunsch! Wenn nicht, ist etwas schiefgelaufen.
Jetzt, wenn Sie ausführen
ls -l /home/server1:~ # ls -l /home/
total 0
drwxr-xr-x 1 administrator users 128 Nov 7 14:30 administrator
drwxr-xr-x 1 ftpuser ftpgroup 18 Nov 19 14:32 www.example.com
server1:~ #sollten Sie sehen, dass das Verzeichnis /home/www.example.com (das Heimatverzeichnis von exampleuser) automatisch erstellt wurde und es dem ftpuser und ftpgroup gehört (dem Benutzer/der Gruppe, die wir am Ende von Schritt zwei erstellt haben):
7 Datenbankverwaltung
Für die meisten Menschen ist es einfacher, wenn sie eine grafische Benutzeroberfläche für MySQL haben; daher können Sie auch phpMyAdmin (in diesem Beispiel unter http://server1.example.com/phpMyAdmin/ oder http://192.168.0.100/phpMyAdmin/) verwenden, um die pureftpd-Datenbank zu verwalten.

Wann immer Sie einen neuen Benutzer erstellen möchten, müssen Sie einen Eintrag in der Tabelle ftpd erstellen, daher werde ich hier die Spalten dieser Tabelle erklären:
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.
Password: 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:

UID: Die Benutzer-ID des FTP-Benutzers, den Sie am Ende von Schritt zwei erstellt haben (z.B. 2001).
GID: Die Gruppen-ID der FTP-Gruppe, die Sie am Ende von Schritt zwei erstellt haben (z.B. 2001).
Dir: Das Heimatverzeichnis des virtuellen PureFTPd-Benutzers (z.B. /home/www.example.com). Wenn es nicht existiert, wird es erstellt, wenn der neue Benutzer sich das erste Mal über FTP anmeldet. Der virtuelle Benutzer wird in dieses Heimatverzeichnis eingesperrt, d.h. er kann nicht auf andere Verzeichnisse außerhalb seines Heimatverzeichnisses zugreifen.
ULBandwidth: Upload-Bandbreite des virtuellen Benutzers in KB/s (Kilobyte pro Sekunde). 0 bedeutet unbegrenzt.
DLBandwidth: Download-Bandbreite des virtuellen Benutzers in KB/s (Kilobyte pro Sekunde). 0 bedeutet unbegrenzt.
comment: Hier können Sie einen Kommentar eingeben (z.B. für Ihre interne Verwaltung). Normalerweise lassen Sie dieses Feld leer.
ipaccess: Geben Sie hier IP-Adressen ein, die sich mit diesem FTP-Konto verbinden dürfen. * bedeutet, dass jede IP-Adresse sich verbinden darf.
QuotaSize: Speicherplatz in MB (nicht KB, wie bei 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 Anonymer FTP
Wenn Sie ein anonymes FTP-Konto erstellen möchten (ein FTP-Konto, auf das jeder ohne Passwort zugreifen kann), benötigen Sie einen Benutzer und eine Gruppe namens ftp. Beide wurden automatisch erstellt, als Sie das pure-ftpd-Paket installiert haben, sodass Sie sie nicht manuell erstellen müssen. Das Heimatverzeichnis von ftp ist jedoch standardmäßig /srv/ftp, aber ich möchte das anonyme FTP-Verzeichnis in /home/ftp erstellen (die normalen Benutzer-FTP-Verzeichnisse befinden sich ebenfalls in /home, z.B. /home/www.example.com). Aber natürlich können Sie das Verzeichnis /srv/ftp für anonymes FTP verwenden, wenn Sie es bevorzugen.
Wenn Sie /home/ftp verwenden möchten, öffnen Sie /etc/passwd und ändern Sie das Heimatverzeichnis des FTP-Benutzers von /srv/ftp auf /home/ftp (tun Sie dies nicht, wenn Sie /srv/ftp verwenden möchten):
vi /etc/passwd[...]
#ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
ftp:x:40:49:FTP account:/home/ftp:/bin/bash
[...] Dann verschieben Sie /srv/ftp nach /home (tun Sie dies nicht, wenn Sie /srv/ftp verwenden möchten):
mv /srv/ftp /homeDann erstellen wir das Verzeichnis /home/ftp/incoming, das es anonymen Benutzern ermöglicht, Dateien hochzuladen. Wir geben dem Verzeichnis /home/ftp/incoming Berechtigungen von 311, sodass Benutzer hochladen können, aber keine Dateien in diesem Verzeichnis sehen oder herunterladen können. Das Verzeichnis /home/ftp erhält Berechtigungen von 555, die das Sehen und Herunterladen von Dateien erlauben:
chown ftp:nobody /home/ftp
cd /home/ftp
mkdir incoming
chown ftp:nobody incoming/
chmod 311 incoming/
cd ../
chmod 555 ftp/(Wenn Sie /srv/ftp stattdessen verwenden möchten, ersetzen Sie /home/ftp durch /srv/ftp in den obigen Befehlen.)
Anonyme Benutzer können sich anmelden und dürfen Dateien aus /home/ftp herunterladen, aber Uploads sind auf /home/ftp/incoming beschränkt (und sobald eine Datei in /home/ftp/incoming hochgeladen wird, kann sie von dort nicht gelesen oder heruntergeladen werden; der Serveradministrator muss sie zuerst in /home/ftp verschieben, um sie anderen zur Verfügung zu stellen).
Jetzt müssen wir PureFTPd für anonymes FTP konfigurieren. Öffnen Sie /etc/pure-ftpd/pure-ftpd.conf und stellen Sie sicher, dass Sie die folgenden Einstellungen darin haben:
vi /etc/pure-ftpd/pure-ftpd.conf[...]
NoAnonymous no
[...]
AnonymousBandwidth 8
[...]
AnonymousCantUpload no
[...] (Die Einstellung AnonymousBandwidth ist optional - sie ermöglicht es Ihnen, Upload- und Download-Bandbreiten für anonyme Benutzer zu begrenzen. 8 bedeutet 8 KB/s. Verwenden Sie jeden Wert, den Sie möchten, oder kommentieren Sie die Zeile aus, wenn Sie keine Bandbreitenbegrenzungen wünschen.)
Schließlich starten wir PureFTPd neu:
systemctl restart pure-ftpd.service9 Links
- OpenSUSE: http://www.opensuse.org/
- PureFTPd: http://www.pureftpd.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.