Pure-FTPD einrichten

25. Mai 2007

Die folgende Anleitung und Befehle beziehen sich auf Ubuntu-Linux. Unter anderen Distributionen kann es zu unterschieden bezüglich der Befehle, etc. kommen.

Installtion von Pure-FTPD

Der folgende Befehl lädt Pure-FTPd herunter und installiert dieses.

apt-get install pure-ftpd-mysql

MySQL-Datenbank, User und Tabelle

Nach der Installation vno Pure-FTPd muss eine neue MySQL-Datenbank erstelt werden. Dies funktioniert am besten über phpMyAdmin oder einem vergleichbaren Tool. Natürlich auch direkt über die Konsole. Ich hab die MySQL-DB “system” genannt, jedoch kann der Name beliebig gewählt werden.

Anschließend muss in der Datenbank eine neue Tabelle angelegt werden. Hier hab ich mich weitesgehend an die vorgaben der Pure-FTPd-Dokumentation gehalten.

CREATE TABLE users (
  USER VARCHAR(16) BINARY NOT NULL,
  Password VARCHAR(64) BINARY NOT NULL,
  Uid INT(11) NOT NULL DEFAULT '-1',
  Gid INT(11) NOT NULL DEFAULT '-1',
  Dir VARCHAR(128) BINARY NOT NULL,
  PRIMARY KEY (USER)
);

Anschließend in der “mysql” Datenbank unter “user” einen neuen Benutzer anlegen.

Dazu einfach einen neuen Eintrag in die Tabelle user in der Datenbank mysql. Dieser Benutzer bekommt KEINE Rechte.

Anschließend in die Tabelle ‘db’ noch den Benutzer auf die Datenbank die Rechte geben. Für pure_ftpd reichen nur “SELECT”-Rechte vollkommend aus.

Das Passwort muss vom Typ “password” sein!

Danach müssen die Rechte des MySQL-Server neu geladen werden. Dies kann auch wieder direkt über phpmyadmin gemacht werden. Nun muss nur noch die ‘mysql.conf’ des PureFTPd angepasst werden:

vim /etc/pure-ftpd/db/mysql.conf

Dort müssen folgende Werte angepasst werden:

# Mandatory : user to bind the server as.
MYSQLUser pureftpd_user
# Mandatory : user password. You must have a password.
MYSQLPassword passwort
# Mandatory : database to open.
MYSQLDatabase system

Sowie die folgenden Querys auf die neuen Datenbank:

# Query to execute in order to fetch the password
MYSQLGetPW SELECT Password FROM pureftpd_users WHERE User="\L"
# Query to execute in order to fetch the system user name or uid
MYSQLGetUID SELECT Uid FROM pureftpd_users WHERE User="\L"
# Optional : default UID - if set this overrides MYSQLGetUID
#MYSQLDefaultUID 1000
# Query to execute in order to fetch the system user group or gid
MYSQLGetGID SELECT Gid FROM pureftpd_users WHERE User="\L"

Jetzt zum Schluss noch den FTP-Server neustarten. Jetzt kann man in die Tabelle pureftpd_users einfach die FTP-User eintragen.

Weitere Links

PureFTPd
PureFTPd Dokumentation

{ 2 Kommentare } { 0 Shares }

{ 2 Kommentare… lies sie unten oder schreib selbst einen }

D.Domninic Januar 16, 2012 um 07:35

ich komme hier nicht weiter,

wie mach man einen neuen user in sql ?? ??????

Antworten

Martin Bauer Januar 16, 2012 um 07:53

Meinst Du einen MySQL-Benutzer? In die entsprechende User-Tabelle eintragen und in der Tabelle “users” in der “mysql”-Datenbank den User anlegen und in der Tabelle “db” die entsprechenden Rechte geben.

Antworten

Schreib einen Kommentar

Previous post:

Next post: