PHPMyAdmin - FTP User anlegen

  • Hallo,


    ich habe die Anleitung für das FTP User anlegen durch die Datenbank durchgemacht, einen extra Datenbank User auch dafür angelegt der heißt „ftpuser“.


    Jetzt wollte ich das durch ein Register machen "MyBBoard - Forum", das es die FTP Benutzer anlegt wenn sich jemand registriert.


    Ich dem Howto steht folgendes: CREATE TABLE users ( ; brauch ich ja nicht, weil das hab ich in der Datenbank, in der Tabelle „forum“ und die Tabelle „forum_users“ da sind die MyBB User drin.


    CREATE TABLE users (
    userid VARCHAR(30) NOT NULL ,
    passwd VARCHAR(80) NOT NULL,
    uid INTEGER UNIQUE,
    gid INTEGER,
    homedir VARCHAR(255),
    shell VARCHAR(255)
    )


    ich möchte aber, dass es nicht die Benutzernamen dann als FTP User anlegt, sondern die ID (uid) die jeder User bei der MyBBoard Registration bekommt.


    Wie mache ich das, in der Datenbank phpMyAdmin.


    Und statt passwd VARCHAR(80) NOT NULL, hat das MyBBoard es anderst da werden die Passwörter unter passwort gespeichert.



    Gruß & Danke

  • Hallo,


    ich habe jetzt das gescreent:
    http://lokalbook.wmw.cc/screen1.png
    http://lokalbook.wmw.cc/screen2.png


    .. hier werden jetzt die Benutzer angelegt, die sich beim Forum registrieren. Jezt hat sich hier ein User angemeldet Name "Sweetcron", der Benutzer "Sweetcron" hat die ID (uid) 37 jetzt sollte sich per proftpd der Benutzername 37 anlegen und als Passwort das Passwort das bei der registration hinterlegt wurde. Wenn "Sweetcron" bei der Registrierung das Passwort "test" hat sollte er sich im FTP einloggen können und gechrootet sein mit folgende Daten: IP: XXX.XXX.XXX.XX User: 37 Passwort: test Port: 21


    Gruß & Danke

  • Im grunde musst du ja nur im MyBB an der Stelle wo ein Benutzer erstellt wird (also bei der Registrierung) einen MySQL-Befehl ausführen der dann so in etwa aus sieht: fnkr-Paste
    Ich weiß nicht wie die FTP-Datenbank bei dir aus sieht aber so in etwa muss es sein.

  • Hallo,


    Ja aber durch die Registrierung wird ja die ID vergeben mit Passwort usw. aber dann sollte sich automatisch der FTP User anlegen.


    INSERT INTO `ftpd`.`ftpd-users` (
    `username` ,
    `password`
    )
    VALUES (
    'user-id', 'passwort'
    );


    Da muss ich jetzt ja die ID, Passwort und User selbst eintragen oder seh ich das falsch.


    Die Usertabelle befindet sich bei mir in der DB hier:
    Supportforum_sf -> Supportforum_sfusers -> da befinden sich die User wie auf Screen2 zu sehen ist.


    Die userid wird unter uid gespeichert, Benutzername brauchen wir nicht, das Passwort was auch für den FTP Login notwendig ist unter passwort.


    Gruß Danke

  • Da muss ich jetzt ja die ID, Passwort und User selbst eintragen oder seh ich das falsch.


    Genau.


    Die Usertabelle befindet sich bei mir in der DB hier:
    Supportforum_sf -> Supportforum_sfusers -> da befinden sich die User wie auf Screen2 zu sehen ist.


    Die userid wird unter uid gespeichert, Benutzername brauchen wir nicht, das Passwort was auch für den FTP Login notwendig ist unter passwort.


    Das musst du halt selber noch entsprechend anpassen.

  • Woran scheitert es denn? Wenn du gezielte Fragen stellst, kann dir sicher auch jemand helfen.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hallo,


    schlechte Nachricht, es scheitert komplett ;)


    Dank fnkr bin ich soweit, was aber auch nicht vollständig ist bzw. was auch Xot gesagt hat das das Stichwort Trigger ist.


    SQL
    INSERT INTO  `ftpd`.`ftpd-users` (
    `username` ,
    `password`
    )
    VALUES (
    'user-id',  'passwort'
    );


    Gruß

  • Hallo,


    jo, aber mit einem Plugin läuft das ganze ja nicht so wie ich das meinte, oder. Weil ich bräuchts ja das es dann einen FTP User anlegt, Chrootet in den jeweiligen User Ordner und dann noch durch Quotas die Speicherplatz größe begrenzt.


    Gruß

  • Wo genau ist das Problem?


    SQL
    CREATE TRIGGER tuser BEFORE INSERT ON forum_users
      FOR EACH ROW BEGIN
        INSERT INTO `users` SET username = NEW.uid passwd = NEW.password;
      END;


    Sollte eigentlich klappen. Voraussetzung ist natürlich, dass die gleichen Hashverfahren für MyBB sowie FTP verwendet werden.


    EDIT: Evtl. muss das mit einem AFTER INSERT erledigt werden. Ich bin mir nicht sicher ob die UID (Autoincrement?) schon verfügbar ist.

  • Hallo,



    die Passwörter werden verschlüsselt gespeichert, wie mach ich das, dass dann das Register Passwort als FTP Passwort anlegt? Was muss bzw. wie kann ich das am besten machen, wäre es möglich eine eigene Spalte bei den User zu machen bsp. ftppasswd das es dann das als FTP Passwort was hier eingetragen wird?


    Wie mach ich das mit dm Chroot jeder User hat unter dem Ordner /User/ seinen eigenen Ordner mit seiner Register uid (id). Und mit Quotas jeden User Max.2 GB vergibt.

  • Es geht viel einfacher: du setzt in der Konfigurationsdatei deines FTP-Servers den Wert für das Passwort von unverschlüsselt zu dem entsprechendem Verschlüsslungstyp (MD5, SHA1).


    Bei mir (PureFTPd) ist das die Datei /etc/pure-ftpd/db/mysql.conf und da steht in Zeile 45 das hier:

    Code
    MYSQLCrypt      md5


    Allerdings nimmst du ja kein PureFTPd sondern ProFTPd also musst du selber mal nachsehen wo die Konfigurationsdatei ist.

  • Hey,


    des müsste das bei ProFTPd sein. So sieht es bei mir gerade aus..




    habe hier noch was gutes gefunden FTP Server PureFTPd mit MySQL und TLS Unterstützung » Debian Root


    Ich hab das ganze System nun so, bei der Registrierung werden auf dem Webserver für jeden User ein Ordner angelegt, der Ordner bekommt die ID vom User als Ordnername die Ordner befinden sich unter /www/var/user/ID. Nun sollte es auch einen FTP Account anlegen, was wir mit Trigger gemacht haben, weis noch nicht ob das funktioniert da ich das mit dem Passwort MT5 noch nicht genau weis. Danach sollten die User sich einloggen können mir ihrer ID und Passwort (was auch bei der registration vergeben wird) und in ihren Ordner unter /user/ in den Ordner ihrer ID bsp. User 55 hat Ordnername 55 und darin sollte er gechrootet sein. Ebenfalls sollte Qoatas eingerichtet sein, was auch über die DB läuft beschränkt auf 2GB.


    Gruß

  • Es geht viel einfacher: du setzt in der Konfigurationsdatei deines FTP-Servers den Wert für das Passwort von unverschlüsselt zu dem entsprechendem Verschlüsslungstyp (MD5, SHA1).


    Ich bin mir nicht sicher, aber verwendet MyBB keinen zusätzlichen Salt? Evtl. ist es dann doch einfacher, die Registrierfunktion des Forums zu erweitern...

  • Hey,


    wie meinst du das mit dem "Ich bin mir nicht sicher, aber verwendet MyBB keinen zusätzlichen Salt? Evtl. ist es dann doch einfacher, die Registrierfunktion des Forums zu erweitern..." Soll ich das mit dem Passwort ein extra Feld im Register anlegen, bsp. FTP Passwort das es dann auch in der DB bei den jeweiligen User speichert, wär auch eine Idee allerdings, aber es wäre halt gut das es auch durch MD5 verschlüsselt ist.