Titel: DB Strucktur zu Stonki Beispiel Konfiguration Beitrag von: Gepi am 27. April 2004, 09:11:21 Ich habe endlich meine Proftpd zu laufen gebracht, nach dem ich unzählige Stunden in diesem Forum nach helfeden Treats durchsucht habe.
Jetzt scheint er zu laufen, mit sql und quotatab, doch irgend wie habe ich das ganze noch nicht ganz kapiert wie das aus zu sehen hat, dass heisst. Ich habe die Konfigurations Datei von dir Stonki genommen, doch habe ich nirgens eine DB-Strucktur gefunde. Wäre es möglich wenn du die noch darzustellen? Danke im voraus Gepi Titel: Re: DB Strucktur zu Stonki Beispiel Konfiguration Beitrag von: stonki am 27. April 2004, 14:21:19 Zitat von: "Gepi" Ich habe endlich meine Proftpd zu laufen gebracht, nach dem ich unzählige Stunden in diesem Forum nach helfeden Treats durchsucht habe. Jetzt scheint er zu laufen, mit sql und quotatab, doch irgend wie habe ich das ganze noch nicht ganz kapiert wie das aus zu sehen hat, dass heisst. Ich habe die Konfigurations Datei von dir Stonki genommen, doch habe ich nirgens eine DB-Strucktur gefunde. Wäre es möglich wenn du die noch darzustellen? Danke im voraus Gepi Code: mysql> use proftpd; Database changed mysql> show tables; +-------------------+ | Tables_in_proftpd | +-------------------+ | groups | | quotalimits | | quotatallies | | users | | xfer_stat | +-------------------+ 5 rows in set (0.01 sec) mysql> show fields from groups; show fields from quotalimits; show fields from quotatallies; show fields from users; show fields from xfer_stat; +-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | groupname | varchar(60) | | UNI | | | | gid | int(11) | | UNI | 0 | | | members | varchar(255) | | | | | | ui | bigint(20) | | PRI | NULL | auto_increment | +-----------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) +------------------+------------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+------------------------------------+------+-----+---------+-------+ | name | varchar(30) | YES | | NULL | | | quota_type | enum('user','group','class','all') | | | user | | | per_session | enum('false','true') | | | false | | | limit_type | enum('soft','hard') | | | soft | | | bytes_in_avail | float | | | 0 | | | bytes_out_avail | float | | | 0 | | | bytes_xfer_avail | float | | | 0 | | | files_in_avail | int(10) unsigned | | | 0 | | | files_out_avail | int(10) unsigned | | | 0 | | | files_xfer_avail | int(10) unsigned | | | 0 | | +------------------+------------------------------------+------+-----+---------+-------+ 10 rows in set (0.00 sec) +-----------------+------------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+------------------------------------+------+-----+---------+-------+ | name | varchar(30) | | | | | | quota_type | enum('user','group','class','all') | | | user | | | bytes_in_used | float | | | 0 | | | bytes_out_used | float | | | 0 | | | bytes_xfer_used | float | | | 0 | | | files_in_used | int(10) unsigned | | | 0 | | | files_out_used | int(10) unsigned | | | 0 | | | files_xfer_used | int(10) unsigned | | | 0 | | +-----------------+------------------------------------+------+-----+---------+-------+ 8 rows in set (0.00 sec) +-----------------+--------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------------------+----------------+ | username | varchar(60) | | UNI | | | | uid | int(11) | | | 0 | | | gid | int(11) | | | 0 | | | password | varchar(30) | | | | | | homedir | varchar(255) | | | | | | count | int(11) | | | 0 | | | ul_bytes | bigint(20) | | | 0 | | | dl_bytes | bigint(20) | | | 0 | | | ul_count | bigint(20) | | | 0 | | | dl_count | bigint(20) | | | 0 | | | ui | bigint(20) | | PRI | NULL | auto_increment | | shell | varchar(60) | | | /bin/false | | | letzter_zugriff | datetime | | | 0000-00-00 00:00:00 | | | zugang | char(1) | | | | | +-----------------+--------------+------+-----+---------------------+----------------+ 14 rows in set (0.00 sec) +------------+------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------+------+-----+---------------------+----------------+ | username | tinytext | | MUL | | | | filename | text | | MUL | | | | size | bigint(20) | | | 0 | | | host | tinytext | | | | | | ip | tinytext | | | | | | aktion | tinytext | | MUL | | | | dauer | tinytext | | | | | | zeit_lokal | datetime | | | 0000-00-00 00:00:00 | | | success | char(1) | | | | | | ui | bigint(20) | | PRI | NULL | auto_increment | +------------+------------+------+-----+---------------------+----------------+ 10 rows in set (0.00 sec) mysql> Meine ProFTPD.conf sieht zur Zeit so aus: #------------------------mysql Modul: 4.x # # Zugangskontrolle # SQLAuthTypes Plaintext SQLAuthenticate users* SQLConnectInfo DB@localhost USER PASS SQLDefaultGID 65534 SQLDefaultUID 65534 SQLMinUserGID 100 SQLMinUserUID 500 SQLUserInfo users username password uid gid homedir shell # # aktive SQL Kommandos, ab hier passiert etwas :-) # SQLLog PASS counter SQLNamedQuery counter UPDATE "letzter_zugriff=now(), count=count+1 WHERE username='%u'" users # xfer Log in mysql SQLLog RETR,STOR transfer1 SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T',now(), 'c', NULL" xfer_stat SQLLOG ERR_RETR,ERR_STOR transfer2 SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T',now(), 'i', NULL" xfer_stat # # mod_quota tab # #QuotaEngine on #QuotaShowQuotas on #QuotaLimitTable sql:/get-quota-limit #QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally #SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session,limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_ avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'" #SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files _xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'" #SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = byt es_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies #SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies cu stonki Titel: hab alles eingegeben Beitrag von: Gepi am 30. April 2004, 09:22:30 habe jetzt alles so eingegeben
ich nehme mal an, dass die gross geschriebenen Wörter ersetzt werden sollten z.B. SQLConnectInfo DB@localhost USER PASS sollte danach SQLConnectInfo proftpd@localhost proftp test heissen. Habe noch ein problem, habe den FTP gestartet mit Code: linux:~ # proftpd -n -d5 - parsing '/usr/local/etc/proftpd.conf' configuration - <Directory />: adding section for resolved path '/' linux.local - linux.local - Config for Gepi's FTP-Server: linux.local - / linux.local - AllowOverwrite linux.local - Umask linux.local - AllowForeignAddress linux.local - MaxClientsPerHost linux.local - MaxClients linux.local - AllowStoreRestart linux.local - AllowRetrieveRestart linux.local - RequireValidShell linux.local - TransferLog linux.local - SQLAuthTypes linux.local - SQLAuthenticate linux.local - SQLConnectInfo linux.local - SQLDefaultGID linux.local - SQLDefaultUID linux.local - SQLMinUserGID linux.local - SQLMinUserUID linux.local - SQLLog_PASS linux.local - SQLNamedQuery_counter linux.local - SQLLog_RETR linux.local - SQLLog_STOR linux.local - SQLNamedQuery_transfer1 linux.local - SQLLog_ERR_RETR linux.local - SQLLog_ERR_STOR linux.local - SQLNamedQuery_transfer2 linux.local - ServerIdent linux.local - DeferWelcome linux.local - DefaultServer linux.local - Umask linux.local - AllowForeignAddress linux.local - MaxClientsPerHost linux.local - MaxClients linux.local - MaxLoginAttempts linux.local - AllowStoreRestart linux.local - AllowRetrieveRestart linux.local - DefaultRoot linux.local - RequireValidShell linux.local - TransferLog linux.local - ExtendedLog linux.local - ExtendedLog linux.local - ExtendedLog linux.local - SQLAuthTypes linux.local - SQLAuthenticate linux.local - SQLConnectInfo linux.local - SQLDefaultGID linux.local - SQLDefaultUID linux.local - SQLMinUserGID linux.local - SQLMinUserUID linux.local - SQLUserTable linux.local - SQLUsernameField linux.local - SQLPasswordField linux.local - SQLUidField linux.local - SQLGidField linux.local - SQLHomedirField linux.local - SQLShellField linux.local - SQLLog_PASS linux.local - SQLNamedQuery_counter linux.local - SQLLog_RETR linux.local - SQLLog_STOR linux.local - SQLNamedQuery_transfer1 linux.local - SQLLog_ERR_RETR linux.local - SQLLog_ERR_STOR linux.local - SQLNamedQuery_transfer2 linux.local - ProFTPD 1.2.9 (stable) (built Mon Apr 26 13:46:33 CEST 2004) standalone mode STARTUP linux.local ([192.168.1.8]) - error deleting scoreboard entry: Invalid argument linux.local ([192.168.1.8]) - FTP session closed. was könnte der Fehler sein? Bz. wo soll denn das falsche Argument stehen? In der config vieleicht? Danke für eure hilfe Titel: Re: hab alles eingegeben Beitrag von: stonki am 30. April 2004, 09:37:02 in die proftpd config:
SQLLOGFile /var/log/proftpd.sqllog einsetzen, ProFTPD starten und im Log File schauen, was nicht klappt cu stonki Titel: hmm Beitrag von: Gepi am 30. April 2004, 09:56:41 Code: Apr 30 09:51:32 mod_sql/4.10[27312]: backend module 'mod_sql_mysql/4.04' Apr 30 09:51:32 mod_sql/4.10[27312]: backend api 'mod_sql_api_v1' Apr 30 09:51:32 mod_sql/4.10[27312]: >>> sql_getconf Apr 30 09:51:32 mod_sql/4.10[27312]: entering mysql cmd_defineconnection Apr 30 09:51:32 mod_sql/4.10[27312]: name: 'default' Apr 30 09:51:32 mod_sql/4.10[27312]: user: 'proftpd' Apr 30 09:51:32 mod_sql/4.10[27312]: host: 'localhost' Apr 30 09:51:32 mod_sql/4.10[27312]: db: 'proftpd' Apr 30 09:51:32 mod_sql/4.10[27312]: port: '3306' Apr 30 09:51:32 mod_sql/4.10[27312]: ttl: '0' Apr 30 09:51:32 mod_sql/4.10[27312]: exiting mysql cmd_defineconnection Apr 30 09:51:32 mod_sql/4.10[27312]: entering mysql cmd_open Apr 30 09:51:32 mod_sql/4.10[27312]: exiting mysql cmd_open Apr 30 09:51:32 mod_sql/4.10[27312]: unrecoverable backend error Apr 30 09:51:32 mod_sql/4.10[27312]: error: '1045' Apr 30 09:51:32 mod_sql/4.10[27312]: message: 'Access denied for user: 'proftpd@localhost' (Using password: YES)' Bist du auch der meinung dass der Fehler in dieser zeile liegt? Code: SQLConnectInfo DB@localhost USER PASS Ah, da fällt mir gerade eine, ich habe noch eine 3.23.48 MySQL-DB könnte das einen Einfluss haben? Titel: rechte Beitrag von: Gepi am 30. April 2004, 10:27:51 Habe gerade die root Rechte verwende und siehe da, das Login klappt, also zumindes arbeitet er jetzt mit der DB.
Ist es nicht möglich mit einem anderen USER ? Ich habe dem anderen auch die Rechte gegeben und mit dem phpMyAdmin kann ich auch alles mit dem erstellten USER machen. Wieso gehts dann beim Proftpd nicht? cu gepi Titel: protokoll Beitrag von: Gepi am 30. April 2004, 10:35:06 Code: linux.local ([192.168.1.8]) - connected - local : 192.168.1.3:21 linux.local ([192.168.1.8]) - connected - remote :192.168.1.8:57491 linux.local ([192.168.1.8]) - FTP session opened. linux.local ([192.168.1.8]) - dispatching PRE_CMD command 'USER anonymous' to mod_core linux.local ([192.168.1.8]) - dispatching PRE_CMD command 'USER anonymous' to mod_core linux.local ([192.168.1.8]) - dispatching PRE_CMD command 'USER anonymous' to mod_auth linux.local ([192.168.1.8]) - dispatching CMD command 'USER anonymous' to mod_auth linux.local ([192.168.1.8]) - no supplemental groups found for user 'anonymous' linux.local ([192.168.1.8]) - dispatching POST_CMD command 'USER anonymous' to mod_sql linux.local ([192.168.1.8]) - dispatching LOG_CMD command 'USER anonymous' to mod_sql linux.local ([192.168.1.8]) - dispatching LOG_CMD command 'USER anonymous' to mod_log linux.local ([192.168.1.8]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core linux.local ([192.168.1.8]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core linux.local ([192.168.1.8]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_auth linux.local ([192.168.1.8]) - dispatching CMD command 'PASS (hidden)' to mod_auth linux.local ([192.168.1.8]) - no supplemental groups found for user 'anonymous' linux.local ([192.168.1.8]) - USER anonymous (Login failed): Incorrect password. linux.local ([192.168.1.8]) - dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_sql linux.local ([192.168.1.8]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_sql linux.local ([192.168.1.8]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log linux.local ([192.168.1.8]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth linux.local ([192.168.1.8]) - FTP session closed. habs irgendwie nicht ganz richtig, wie kann ich ein anonymous Benutzer erstellen? Oder was is falsch? Müssen uid gid ausgefüllt eins? Danke für deine Hilfe cu gepi Titel: Re: protokoll Beitrag von: stonki am 30. April 2004, 12:06:48 Zitat von: "Gepi" habs irgendwie nicht ganz richtig, wie kann ich ein anonymous Benutzer erstellen? Oder was is falsch? Müssen uid gid ausgefüllt eins? Danke für deine Hilfe cu gepi ich hatte dazu schon mal mehr geschrieben, aber noch mal kurz: Der USer "anonymous" ist nur ein alias auf einen anderen User. Du legst also einen user an, dessen UID und GID fuer anonymen Zugang genommen werden soll. Normal ist dieses "FTP", wenn Du mod_sql nimmst, dann wuerde ich Dir empfehlen einfach diesen Namen, dessen UID und GID in die DB einzutragen. Dann wird in der Config mit Alias diesem User "anonymous" zugewiesen. Zu Deinen anderen sql problem: Das hat etwas mit Deinen MySQL Rechten zu tun. Ich wette mit Zugriff ueber Hostnamen und localhost. Einfach mal mit "proftpd -u USERNAME -p" probieren und dann das Password eingeben. DANN (und nur dann) siehst Du, ob es funktioniert. cu stonki Titel: Danke Danke Dank Beitrag von: Gepi am 30. April 2004, 13:53:35 Jeeeeepiiiiiiiiiiiii,
er läuft und säuft :D Nei jetzt im ernst, ich möchte dir ganz herzlich danken, habe selten Leute getroffen, die so gut einem geholfen haben. Ich möchte mich auch noch enschuldigen, dass ich was gefragt habe, das bereits im Forum drinstand. Noch mals Danke cu Gepi |