www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Gepi am 27. April 2004, 09:11:21



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