Titel: Proftpd - Ein Byte fehlt und Resume geht nicht Beitrag von: outlaw am 14. Januar 2007, 21:58:19 Moin Moin,
ich poste hier mal meine Config einerseits als Beispielconfig (proftpd mit mysql und ratio) und andererseits naürlich weil sie noch nicht Perfekt läuft und ich hoffe das Ihr mal drüberschaut und mir sagt ob murks drin ist ;) Folgende Probleme habe ich : 1. Bei der Datenübertragung (Download) fehlt mir gelegendlich ein Byte am Schluss der Datei. 2. Resume funktioniert nicht (/data/#incoming hat CHMOD 777) Ich bedanke mich Code: ### Elementare Einstellungen #### Datum 25.11.2006 ServerName "XXXXXXXXXXXXX" ServerType standalone ServerIdent on "Servers identifying string" DeferWelcome on DefaultServer on DisplayLogin .welcome.msg # Textfile to display on login DisplayConnect .connect # Textfile to display on connection DisplayFirstChdir .firstchdir # Textfile to display on first changedir UseReverseDNS off IdentLookups off Port 21 Umask 000 MaxInstances 25 MaxClientsPerHost 2 "Only %m connections per host allowed" MaxClients 25 "Only %m total simultanious logins allowed" MaxHostsPerUser 1 User nobody Group nobody ScoreboardFile /var/run/proftpd.scoreboard #### Log Konfigurationen LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" LogFormat write "%h %l %u %t \"%r\" %s %b" # Define log-files to use TransferLog /var/log/proftpd.xferlog ExtendedLog /var/log/proftpd.access_log WRITE,READ write ExtendedLog /var/log/proftpd.auth_log AUTH auth ExtendedLog /var/log/proftpd.paranoid_log ALL default SQLLogFile /var/log/proftpd.mysql QuotaLog /var/log/proftpd.quota #### SQL Authentifizierung AuthOrder mod_sql.c d_sql.c SQLAuthTypes Backend SQLConnectInfo proftpd_admin@localhost root SQLUserInfo usertable userid passwd uid gid homedir shell SQLGroupInfo grouptable groupname gid members SQLUserWhereClause "disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)" # User Login in Datenbank schreiben SQLLog PASS counter SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable # User logout in Datenbank schreiben SQLLog EXIT time_logout SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable # Letzten Login anzeigen SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'" SQLShowInfo PASS "230" "Last login was: %{login_time}" # Transfer Log in die Datenbank 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 #### User Traffic Daten QuotaEngine on QuotaDirectoryTally on QuotaDisplayUnits Kb 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}'" dQuery 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 QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally #### Ratio Konfiguration Ratios on # enable module SaveRatios on # Save ratios in plain text. CwdRatioMsg "Bitte zuerst Uploaden!" # Displayed after every directory FileRatioErrMsg "Ratio System - Nur wer hochlaedt darf auch runterladen" AccessDenyMsg "Zugriff verweigert - etwas stimmt nicht melde dich bei OUT[of]LAW" # Ratios in Datenbank schreiben SQLRatios on SQLRatioStats on #### weitere Konfigurationsparameter RequireValidShell off PathDenyFilter "\\.ftp)|\\.ht)[a-z]+$" DefaultRoot ~ DenyFilter \*.*/ ListOptions "" strict # Resumes <GLOBAL> AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart on </GLOBAL> #### Verzeichnise und deren Rechte <Directory /data/*> HideNoAccess on <Limit READ> AllowAll </Limit> <Limit WRITE> AllowGroup admins </Limit> <Limit ALL> IgnoreHidden on </Limit> </Directory> <Directory /data/#incoming/*> HideNoAccess off <Limit READ> AllowAll </Limit> <Limit WRITE> DenyAll AllowGroup OR admins,family </Limit> <Limit STOR MKD> AllowAll </Limit> </Directory> <Directory /data/private/*> HideNoAccess on <Limit READ DIRS> DenyAll AllowGroup OR family,admins </Limit> <Limit WRITE> AllowGroup OR admins,family </Limit> </Directory> Titel: Re: Proftpd - Ein Byte fehlt und Resume geht nicht Beitrag von: VolGas am 19. Januar 2007, 09:27:41 Moin!
Beim überfliegen Deiner proftpd.conf ist mir kein Fehler ins Auge gesprungen. Daß ein "Resume" auch nicht zu funktionieren scheint, läßt für mich eigentlich nur einen Schluß zu: die Datei ist an dieser Stelle wirklich zu Ende. Wie kommst du darauf, daß noch ein Byte fehlt? Hast Du die Datei auf dem Server kontrolliert? Sorry, ich will Dir nichts unterstellen... mfg. VolGas Titel: Re: Proftpd - Ein Byte fehlt und Resume geht nicht Beitrag von: Wörsty am 19. Januar 2007, 21:22:44 Das mit dem Byte kann ich mir auch nicht erklären.
Hast du die Datei vielleicht aus Versehen im ASCII Mode geladen? Zu Resume gibt es etliche Threads hier. Haste die mal überflogen? |