PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : proftp und mysql



nieselfriem
15.08.13, 16:10
Hallo,

ich habe ein proftpserver mit mysql zusammen aufgesetzt. Die Nutzerverwaltung soll dann via mysql gesteuert werden. Leider kann ich mich mit den Benutzer nicht anmelden. Ich bekomme in der server.log vom proftpd die Meldung, dass der User nicht existieren würde. In der Datenbank existiert der Benutzer.

Ich habe folgende Anpassungen in der proftpd.conf gemacht


Include /etc/proftpd/modules.conf
Include /etc/proftpd/sql.conf
AuthOrder mod_sql.c
User ftp
Group ftp
<IfModule mod_auth_pam.c>
AuthPAM off
</IfModule>

modules.conf


LoadModule mod_sql.c
LoadModule mod_sql_passwd.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_sql.c
LoadModule mod_sftp.c

sql.conf


SQLBackend mysql
SQLEngine on
SQLAuthenticate on
SQLAuthTypes backend
SQLConnectInfo ftp@10.0.2.15 proftpd password
SQLUserInfo ftpuser userid passwd uid gid homedir shell

# Here we tell ProFTPd the names of the database columns in the "grouptable"
# we want it to interact with. Again the names match with those in the db
SQLGroupInfo ftpgroup groupname gid members

# set min UID and GID - otherwise these are 999 each
SQLMinID 700

# create a user's home directory on demand if it doesn't exist
#SQLHomedirOnDemand on

# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

# User quotas
# ===========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

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 ftpquotalimits 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 ftpquotatallies 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 = bytes_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}'" ftpquotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
QuotaLimitTable sql:/get-quota-limit


Wieso wird der user nicht gefunden?. In der Tabelle ftpuser ist dieser eindeutig vorhanden. und das SQL-Log, sagt dass das Passwort nicht stimmen würde. Das ist allerdings mit der passwort-funktion von mysql hinterlegt und geprüft worden.



VG niesel

nieselfriem
16.08.13, 14:33
Mittlerweile habe ich es herausgefunden, dass wenigstens der user gefunden wird aber das Passwort wird noch nicht akzeptiert. Ich verwende aber das richtige ;)
Ich habe nun verschiedene Arten der Authentifikation angeben unter anderem Crypt und Plaintext. Bei beiden werden die Passwörter nicht akzeptiert.