[HOWTO] Pure-FTPD mit Usern in Mysql und Quotas auf Debian Etch

Mordor

Registered User
Nachdem ich mit meiner Problembehebung eh schon fast ein Howto zum Thema hier im Forum hinterlassen habe, hab ich mir Gedacht, dass man doch ein vernünftiges schreiben könnte.

0. Vorweg
Ich übernehme keine Verantwortung bei der Installation. Das Howto ist einzig und allein aus meinen Erfahrungen entsanden.
Das Howto beschreib die Installation von Pure-FTPD, so dass alle User in einer Mysql-Datenbank abgelegt werden, sich Userordner automatisch erstellen. Ausserdem kann man über den Pure-FTPD die Up- und Downloadrate festlegen, so wie den Verzeichnisplatz und die Anzahl der Files im Ordner über Quotas limitieren.

1. Vorraussetzung
Ich gehe von einem fertig installierten Debian Etch System mit Internetanbindung aus. Ausserdem werde ich die Installation von Mysql nicht weiter erklären. Ein lauffähiger Mysql-Server sollte also vorhanden. sein. Ansonsten benötigt man eigentlich nichts dazu.

2. Installation der benötigten Pakete
Zuerst führt man wie gewohnt
Code:
apt-get update
aus, dem man noch ein
Code:
apt-get upgrade
folgen lassen sollte.
Dann kommen wir zur Installation des Pure-FTPD mit
Code:
apt-get install pure-ftpd-mysql
Alle Abhängigkeiten sollten hier, wie bei Debian üblich, automatisch aufgelöst werden. Nach kurzen ist der Pure-FTPD also auf dem Server.

3. Anlegen der Mysql-Datenbank
Als nächstes verbinden wir uns mit dem Mysql-Server mit
Code:
mysql -u root -p
Jetzt sehen wir die Passworteingabe, und nach der Eingabe des Passwortes, sollten wir uns eigentlich in der Mysql-Shell wieder finden.

Jetzt erstellen wir mit
Code:
CREATE DATABASE pureftpd;
die Datenbank und mit
Code:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'deingeheimsepasswort';
den User für den FTP-Server.
Der neue User ist ziemlich unpreviligiert. Zum einen werden Verbindungen nur von lokalhost zugelassen, zum anderen darf er nur begrenzt SQL-Befehle ausführen.

Mit dem Befehl
Code:
USE pureftpd;
wechseln wir in unsere neu angelegte Datenbank, und erstellen daraufhin die erste und einzige Tabele mit dem Befehl:
Code:
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)
) TYPE=MyISAM;
Das wars eigentlich auch schon mit der Konfiguration des Mysql_Servers.

Jetzt beenden wir die Mysql-Shell mit
Code:
quit;
und testen den neuen User. Dazu verbinden wir uns mit dem neuen User mit dem Mysql-Server über
Code:
mysql -u pureftpd -p
geben das Passwort ein, und müssen wieder die Mysql-Shell sehen. Als weiteren Test kann man jetzt noch
Code:
show databases;
eingeben, und sollte dann auch nur zwei Datenbanken sehen. Eine davon ist die pureftpd-Datenbank. Sollte das alles erfolgreich gewesen sein, schliessen wir die Shell wieder mit
Code:
quit;

4. Konfiguration des Pure-FTPD
Jetzt gehts mit der Konfiguration des Pure-FTPD weiter. Zuerst muss ein neues Benutzer und eine Neue Gruppe angelegt werden, unter der die Virtuellen Benutzer arbeiten. Das passiert mit
Code:
groupadd -g 2001 ftpgroup
, womit eine neue Gruppe mit dem Namen ftpgroup angelegt wird, und
Code:
useradd -u 2001 -s /bin/false -d /home/ftp -c “pureftpd user” -g ftpgroup ftpuser
womit wir den User ftpuser anlegen, mit dem Homeverzeichnis /home/ftp.

Als nächste kümmern wir uns um die Konfiguration für die Mysql-Zugangskontrolle. Dazu kopieren wir die orginale mysql.conf mit folgendem Befehl, um sie zu sichern:
Code:
cp /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf.old
Danach schicken wir mit
Code:
cat /dev/null > /etc/pure-ftpd/db/mysql.conf
die alte mysql.conf ins Nirvana, und erstellen mit pico /etc/pure-ftpd/db/mysql.conf eine neue. Diese wird dann mit folgenden Angaben gefüllt:
Code:
MYSQLSocket      /var/run/mysqld/mysqld.sock
#MYSQLServer     localhost
#MYSQLPort       3306
MYSQLUser       pureftpd
MYSQLPassword   geheimespasswort
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")
Diese Datei speichern wir nachdem wir sie erstellt und editiert haben.

Bei der Debian Standardinstallation startet Pure-FTP unter inetd. Ich für meinen Teil wollte das aber nicht haben. Deshalb wird jetzt die Datei
Code:
/etc/default/pure-ftpd-common
Editirt. Hier muss nur die Direktive
Code:
STANDALONE_OR_INETD
auf standalone gestellt werden. Danach wird die Datei gespeichert und der Texteditor wieder beendet.

Aus Gründen der Sicherheit sollten wir jetzt die einzelnen User noch CHRooten. Dies geschieht über die Erstellung einer bestimmten Datei, mit dem folgenden Befehl:
Code:
echo “yes” > /etc/pure-ftpd/conf/ChrootEveryone

Ausserdem erstellen wir noch eine zweite Datei, mit folgendem Befehl:
Code:
echo “yes” > /etc/pure-ftpd/conf/CreateHomeDir
Diese Option ist dafür verantwortlich, dass für einen neuen User automatisch ein neues Verzeichnis erstellt wird, wenn er sich zum ersten mal einloggt.

Und zu guter letzt, verbieten wir noch das anonyme Anmelden am FTP-Server mit
Code:
echo "yes" > /etc/pure-ftpd/conf/NoAnonymous

5. Nuestart
Nachdem wir jetzt mit der Konfiguration fertig sind, können wir den Pure-FTP neu starten
Code:
/etc/init.d/pure-ftpd-mysql start
Wenn alles glatt läuft, sollte das mit einer Meldung in folgender Art belohnt werden:
Code:
starting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -O stats:/var/log/pure-ftpd/transfer.log -u 1000 -j -A -E -B
So, alles geschaft. Jetzt können wir zum Testen einen neuen User erstellen

6. Testen der Umgebung
Als erste gehen wir wieder in die Mysql-Shell mit
Code:
mysql -u -root -p
und wechseln nach erfolgtem Login mit
Code:
use pureftpd;
in die FTP-Datenbank. Jetzt erstellen wir unseren ersten User mit
Code:
INSERT INTO 'ftpd' ('user', 'status', 'password', 'uid', 'gid', 'dir', 'ulbandwidth', 'dlbandwidth', 'comment', 'ipaccess', 'quotasize', 'quotafiles') VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0');
Danach beenden wir wieder die Shell mit
Code:
quit;

Zur Erklärung:
Wir haben jetzt den User "testuser" erstellt. Die 1 bedeutet, dass der Zugasng aktiv ist. Eine 0 würde bedeuten, dass der Zugsang gesperrt ist. Das Passwort muss in Mysql mit einem md5-Hush gespeichert werden. Ausserdem geben wir danach die UID und GID 2001 an, die auf diei Gruppe ftpgroup und den User ftpuser verweisen. Das wird gefolgt vom Homedir des Users. Diesem User geben wir ein Up- und eine Downloadrate von 100KB/sec. Als Komentar haben wir Testuser eingetragen. Dieses Feld kann auch leer sein. Des weiteren hat der User 50MB zur Verfügung und kann soviele Files hochladen wie er möchte, solange er nicht über die Quotasize hinausgeht. Würde man für die beiden Quote-Optionen jeweils eine 0 eintragen, wäre sowohl Speicherplatz als auch Fileupload unbegrenzt.

Jetzt können wir einen FTP-Client öffnen und uns zum ersten mal mit dem Server verbinden. Hat das funktioniert, sollte alles laufen.
Als weiteren Test, kann man jetzt ein kleines file auf den Server übertragen und wieder herunter laden. In der Logdatei /var/log/pure-ftpd/tranfer.log sollten wir den Up- und Download nachvollziehen können.

Zum schluss gehen wir auf dem Server noch ins FTP-Verzeichnis
Code:
cd /home/ftp
und lassen uns diese anzeigen. Hier sollte jetzt ein neuer Ordner vorhanden sein. Dieser sollte genau so heissen, wie der Ordner, den wir in der Datenbank hinterlegt haben.

7. Fehlerquellen
Eine wichtige Fehlerquelle gibt es noch:
Sollte ein IpTables-Skript laufen, muss man noch ein Kernelmodul einbinden. Sonst funktionieren die FTP-Verbindungen nicht. dazu gibt man in der Shell einfach
Code:
modprobe ip_connect_ftp
ein. Damit wird das benötigte Modul für IpTables geladen. Ausserdem Editiren wir noch die Datei
Code:
/etc/modules
und tragen dort auch das oben beschrieben Modul ein, dass es auch beim nächsten Systemstart automatisch mitgeladen wird.



So, das wars auch schon. Viel Spaß


EDIT: Schreibfehler ausgebessert und Anonymous Account hinzugefügt. 03.01.2009 danke an H3llGhost
 
Last edited by a moderator:
Hallo!!! Ich hab da ein problem! Ich hab es genau wie in der anleitung gemacht server startet auch aber ich kann mich nicht verbinden...
mein client sagt einfach nur (cannot connect)
 
Was sagen denn die Logfiles?
Und hast du es mal über eine Telnet-Verbindung probiert?
Gibt es vielleicht noch firewalleinstellungen, die du nicht beachtet hast???
 
Versuch dich mal auf dem Server in der Konsole mit ftp zu verbinden.
Falls dann diese Meldung hier kommt:
Can't exec "/usr/sbin/pure-ftpd": No such file or directory at /usr/sbin/pure-ftpd-wrapper line 174.
/usr/sbin/pure-ftpd-wrapper: Cannot exec /usr/sbin/pure-ftpd: No such file or directory at /usr/sbin/pure-ftpd-wrapper line 174.

Dann müsste man einen symbolischen Link auf pure-ftpd-mysql erstellen, so dass der wrapper wieder läuft.

noaccess:~# cd /usr/sbin/
noaccess:/usr/sbin# ln -s pure-ftpd-mysql pure-ftpd
 
Sehr gutes Turorial. Sehr einfach beschrieben und funktionierte auf anhieb.

Jezt habe ich aber leider ein kleines Problem, was komischerweise nicht funktioniert.

MYSQLSocket /var/run/mysqld/mysqld.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser hosting_panel
MYSQLPassword *****
MYSQLDatabase hosting_panel
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt md5
MYSQLGetPW SELECT password FROM service_ftp_user WHERE user="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT uid FROM service_ftp_user WHERE user="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT gid FROM service_ftp_user WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT dir FROM service_ftp_user WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ulbandwidth FROM service_ftp_user WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT dlbandwidth FROM service_ftp_user WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT quotasize FROM service_ftp_user WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT quotafiles FROM service_ftp_user WHERE user="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

Undzwar habe ich die Datenbank etwas umgefrachtet da ich nicht für jeden Dienst eine eigene Datenbank anlegen wollte.

anstatt der Datenbank pureftpd habe ich die Datenbank hosting_panel angelegt. Der gleichnahmige User(hosting_panel) hat alle Rechte vom Kompletten MySQL Server ...

Die Config habe ich soweit auch geändert.

Nur nachdem ich diese kleinen umänderungen gemacht habe, kann ich mich nicht mehr mit einem Testaccount einloggen. Fehlermeldung in WinSCP:

Verbinde mit ******.com ...
Verbunden mit ******.com erwarte Willkommensnachricht ...
Zugriff verweigert.

Nochmal die Übersicht:
- User hosting_panel mit allen Rechten
- Datenbank hosting_panel
- Tablename service_ftp_user (struktur selber blieb erhalten)

Kann mir jemand sagen, was da vllt falsch ist?
Erkennt der FTP Service überhaupt die unterstriche in der DB Config?
 
Die Unterstriche in der DB sollten kein Problem sein.

Hast du mal mysql die Queries mitloggen lassen? Wenn nicht, dann kannst du in der My.cnf einstellen, dass der das macht. Dann sollte man auch sehen können, welche Query abgesetzt werden.
 
Ok, Danke dir erstmal. Ich werde mal schauen das ich das hinbekomme.
 
So es Läuft jezt endlich alles so wie es soll.

Eine Frage hätte ich noch.
Undzwar was bedeutet IPAccess?
sind da nur IP's gültig oder auch Domains?

* = All ... Das heißt ist von allen Quellen der FTP Zugriff erlaubt ist.
Kann ich auch dabei domains einsetzen?

user = domain.de
status = 1
password = MD5(demo)
uid = 2001
gid = 2001
dir = /var/kunden/domain.de/
ulbandwidth = 0
dlbandwidth = 0
comment = Testaccount
ipaccess = domain.de
quotasize = 0
quotafiles = 0

Normalerweise dürfte der Benutzer "domain.de" sich ja nur über die Domain (als Hostangabe) einloggen können, oder?

Das Heißt, folgende Benzuerdaten braucht der "Kunde":
Benutzername: domain.de
Passwort: demo
Host: domain.de
Post: 21 (default)
 
Mit IPAccess ist gemeint, von welcher IP aus auf den FTP-Server zugegriffen werden darf. * heißt, dass man es von jeder aus darf. 86.* würde bedeuten, dass man nur von IPs zugreiffen darf, die mit 86. anfangen.
 
Bekomme in der Mysql folgenden Fehler:

Code:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ftpd' (user, status, password, uid, gid, dir, ulbandwidth, dlbandwidth, comment' at line 1

Hab darauf hin den User manuell über phpmyadmin hinzugefügt aber es kommt trotzdem keine Verbindung mit dem Client zustande, kennt einer eine Lösung?
 
Was schreibt denn Pure_Ftpd ins syslog wenn du versuchst dich zu verbinden?

Und du könntest mal in der my.cnf von Mysql auf Loggin stellen. Dann solltest du unter /var/log/mysql/mysql.log genau sehen können, welche SQL-Querys Pure-Ftpd rausschmeisst. Das Logging nach dem überprüfen aber bitte wieder ausschalten.
 
syslog:

Code:
Aug 26 14:15:30 vadmin156 mysqld[1794]: 090826 14:15:30  InnoDB: Started; log sequence number 0 43655
Aug 26 14:15:30 vadmin156 mysqld[1794]: 090826 14:15:30 [Note] /usr/sbin/mysqld: ready for connections.
Aug 26 14:15:30 vadmin156 mysqld[1794]: Version: '5.0.51a-24+lenny1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)
Aug 26 14:15:30 vadmin156 /etc/mysql/debian-start[1834]: Upgrading MySQL tables if necessary.
Aug 26 14:15:31 vadmin156 /etc/mysql/debian-start[1837]: Looking for 'mysql' in: /usr/bin/mysql
Aug 26 14:15:31 vadmin156 /etc/mysql/debian-start[1837]: Looking for 'mysqlcheck' in: /usr/bin/mysqlcheck
Aug 26 14:15:31 vadmin156 /etc/mysql/debian-start[1837]: This installation of MySQL is already upgraded to 5.0.51a, use --force if you still need to run mysql_upgrade
Aug 26 14:15:31 vadmin156 /etc/mysql/debian-start[1846]: Checking for insecure root accounts.
Aug 26 14:15:31 vadmin156 /etc/mysql/debian-start[1850]: Triggering myisam-recover for all MyISAM tables
Aug 26 14:17:01 vadmin156 /USR/SBIN/CRON[1879]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug 26 14:20:41 vadmin156 pure-ftpd: () [INFO] New connection from .de
Aug 26 14:20:42 vadmin156 pure-ftpd: () [WARNING] Authentication failed for user [server1]
Aug 26 14:20:47 vadmin156 pure-ftpd: () [INFO] Logout.
Aug 26 14:20:47 vadmin156 pure-ftpd: () [INFO] New connection from .de
Aug 26 14:20:47 vadmin156 pure-ftpd: () [WARNING] Authentication failed for user [server1]
Aug 26 14:20:51 vadmin156 pure-ftpd: () [INFO] Logout.
Aug 26 14:20:52 vadmin156 pure-ftpd: () [INFO] New connection from .de
Aug 26 14:20:52 vadmin156 pure-ftpd: () [WARNING] Authentication failed for user [server1]
Aug 26 14:20:57 vadmin156 pure-ftpd: () [INFO] Logout.

FTP:
Code:
Status:	Verbindung hergestellt, warte auf Willkommensnachricht...
Antwort:	220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Antwort:	220-You are user number 1 of 50 allowed.
Antwort:	220-Local time is now 14:20. Server port: 21.
Antwort:	220-This is a private system - No anonymous login
Antwort:	220-IPv6 connections are also welcome on this server.
Antwort:	220 You will be disconnected after 15 minutes of inactivity.
Befehl:	USER server1
Antwort:	331 User server1 OK. Password required
Befehl:	PASS *****************
Antwort:	530 Login authentication failed

Mysql log:

Code:
		     28 Connect     debian-sys-maint@localhost on 
		     28 Query       select @@version_comment limit 1
		     28 Query       SELECT COUNT(*) INTO @discard FROM `pureftpd`.`ftpd`
		     28 Quit       
090826 14:16:14	     29 Connect     root@localhost on 
		     29 Query       select @@version_comment limit 1
090826 14:16:20	     29 Query       INSERT INTO 'ftpd' ('user', 'status', 'password', 'uid', 'gid', 'dir', 'ulbandwidth', 'dlbandwidth', 'comment', 'ipaccess', 'quotasize', 'quotafiles') VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0')
090826 14:19:32	     29 Query       SELECT DATABASE()
		     29 Init DB     pureftpd
		     29 Query       show databases
		     29 Query       show tables
		     29 Field List  ftpd 
090826 14:19:36	     29 Query       INSERT INTO 'ftpd' ('user', 'status', 'password', 'uid', 'gid', 'dir', 'ulbandwidth', 'dlbandwidth', 'comment', 'ipaccess', 'quotasize', 'quotafiles') VALUES ('testuser', '1', MD5('geheimespasswort'), '2001', '2001', '/home/ftp/testdir', '100', '100', 'Testuser', '*', '50', '0')
 
Last edited by a moderator:
Mit dem SQL-Log kann man leider nicht wirklich was anfangen. Da ist kein einziger Query vom FTP zu sehen.

Aber in deinem Syslog und deinem Verbindungs log steht doch eigentlich schon alles drin. Der FTP kann den User aus der Datenbank lesen, jedoch stimmt etwas mit dem Passwort nicht. Hast du das Passwort denn als MD5-Hush in die Datenbank gelegt? Und stimmten die Querys für Mysql?
 
Wenn du dir sicher bist, das alles stimmt, solltest du noch mal checken, ob das Passwort in der DB und das was du eingibst, das gleiche sind.
 
Hi,
ich habe das selbe Problem wie flashfish0
Mir ist aufgefallen, dass "/etc/init.d/pure-ftpd-mysql start" bei mir nicht den Server startet bzw "/etc/init.d/pure-ftpd-mysql stop" den Server stoppt, obwohl er es sagt.

Bei "/usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -O stats:/var/log/pure-ftpd/transfer.log -u 1000 -j -A -E -B" sagt er "Unable to start a standalone server: Address already in use"

Beim Neustart des Rechner stellte ich fest, dass "/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -u 1000 -0 clf:/var/log/pure-ftpd/transfer.log -A -j -E -B" ausgeführt wird.

Woran kann das liegen?
 
"Unable to start a standalone server: Address already in use"

Das wird wohl daran liegen, dass die alte, vorherige Instanz nicht beendet wurde (wie Du ja selbst geschrieben hast). Solange die den Port noch belegt, kann kein neuer Prozess auf den Port zugreifen.
Falls der vorherigen pure-ftpd nicht lief und Du trotzdem diese Meldung bekommst, belegt ein anderer Prozess den Port. Das könnte zum Beispiel der (x)inetd sein. Im Zweifelsfall gibt Dir der Befehl "lsof" (vorher die Man-Page anschauen...) die eindeutige Auskunft, welcher Prozess das ist.
 
Wie LinuxAdmin schon so schön geschrieben hat, kann es am xinietd liegen. Einfach die Config-Datei für diesen Dienst aufmachen, welche unter /etc liegt, und die Zeile mit dem ftp vorne dran auskommentieren. Danach den inetd neu starten, und Pure-Ftpd neu starten.
 
Back
Top