Hosting · 4 min read · Jan 07, 2026
Virtuelles Hosting Mit PureFTPd Und MySQL (Incl. Quota Und Bandbreitenmanagement) Auf Mandriva 2008 Spring - Seite 2
6 Datenbank Befüllen Und Testen
Um die Datenbank zu befü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), dem Passwort secret (das verschlüsselt mit der MD5-Funktion von MySQL gespeichert wird), der 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!), dem Home-Verzeichnis /home/www.example.com, einer Upload- und Download-Bandbreite von 100 KB/sec. (Kilobyte pro Sekunde) und einem Kontingent 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 (etwas wie WS_FTP, SmartFTP oder FileZilla, wenn Sie ein Windows-System verwenden, oder gFTP oder FileZilla auf einem Linux-Desktop) und versuchen Sie, sich zu verbinden. Als Hostname 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.
Wenn Sie jetzt
ls -l /homeausführen, sollten Sie sehen, dass das Verzeichnis /home/www.example.com (das Home-Verzeichnis von exampleuser) automatisch erstellt wurde und es gehört ftpuser und ftpgroup (dem Benutzer/der Gruppe, die wir am Ende von Schritt zwei erstellt haben):
[root@server1 ~]# ls -l /home
total 8
drwxr-xr-x 3 administrator administrator 4096 2008-04-09 14:58 administrator/
drwxr-xr-x 2 ftpuser ftpgroup 4096 2008-04-11 14:40 www.example.com/
[root@server1 ~]#7 Datenbankverwaltung
Für die meisten Menschen ist es einfacher, wenn sie ein grafisches Front-End zu MySQL haben; daher können Sie auch phpMyAdmin (in diesem Beispiel unter http://server1.example.com/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 die Spalten dieser Tabelle hier 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 als MD5-String verschlüsselt 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 Home-Verzeichnis 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 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.
- comment: Hier können Sie einen beliebigen 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 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 Anonymer FTP
Wenn Sie ein anonymes FTP-Konto erstellen möchten (ein FTP-Konto, auf das sich jeder ohne Passwort anmelden 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 Home-Verzeichnis von ftp ist standardmäßig /var/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 /var/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 Home-Verzeichnis des FTP-Benutzers von /var/ftp auf /home/ftp (tun Sie dies nicht, wenn Sie /var/ftp verwenden möchten):
vi /etc/passwd| [...] #ftp:x:80:423:system user for pure-ftpd:/var/ftp:/bin/false ftp:x:80:423:system user for pure-ftpd:/home/ftp:/bin/false [...] |
Dann verschieben Sie /var/ftp nach /home (tun Sie dies nicht, wenn Sie /var/ftp verwenden möchten):
mv /var/ftp /homeWir verwenden die Verzeichnisse /home/ftp/incoming (die es anonymen Benutzern ermöglichen, Dateien hochzuladen) und /home/ftp/pub (von wo aus anonyme Benutzer herunterladen können). Beide Verzeichnisse existieren bereits. Wir werden dem Verzeichnis /home/ftp/incoming Berechtigungen von 311 geben, sodass Benutzer hochladen können, aber keine Dateien in diesem Verzeichnis sehen oder herunterladen können. Das Verzeichnis /home/ftp/pub wird Berechtigungen von 555 haben, die das Sehen und Herunterladen von Dateien erlauben:
chown -R ftp:nogroup /home/ftp
cd /home/ftp
chmod 311 incoming/
chmod 555 pub/
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 anmelden und dürfen Dateien von /home/ftp/pub herunterladen, aber Uploads sind auf /home/ftp/incoming beschränkt (und sobald eine Datei in /home/ftp/incoming hochgeladen wurde, kann sie von dort nicht gelesen oder heruntergeladen werden; der Serveradministrator muss sie zuerst nach /home/ftp/pub verschieben, um sie anderen verfügbar zu machen).
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 [...] AntiWarez 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/sec. Verwenden Sie jeden Wert, den Sie möchten, oder kommentieren Sie die Zeile aus, wenn Sie die Bandbreiten nicht begrenzen möchten.)
Schließlich starten wir PureFTPd neu:
/etc/init.d/pure-ftpd restart9 Links
- PureFTPd: http://www.pureftpd.org
- MySQL: http://www.mysql.com
- phpMyAdmin: http://www.phpmyadmin.net
- Mandriva: http://www.mandriva.com
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.