[CentOS] proftpd graphical clients not working

Tim Dunphy

bluethundr at gmail.com
Tue Dec 13 16:25:26 UTC 2011


Hello list,

  With my latest proftpd server  graphical client error on list (ls) directory:

Error:	Could not read from socket: ECONNRESET - Connection reset by peer
Error:	Disconnected from server
Error:	Failed to retrieve directory listing

So far I've tried both filezilla and cyberduck.


But command line ftp works completely:

[dunphy at BAM-025715-TD:~] #ftp jfweb
Connected to jfweb.
220FTP Server ready.
Name (jfweb:user): user
331 Password required for user
Password:
230 User user logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||62007|)
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 root     root            0 Dec 13 15:48 test
-rw-r--r--   1 jfuser   ftpgroup        0 Dec 13 16:10 test2
226 Transfer complete
ftp> put config.log
local: config.log remote: config.log
229 Entering Extended Passive Mode (|||62933|)
150 Opening BINARY mode data connection for config.log
100% |**************************************************************************************************************************|
20280      579.79 KiB/s    00:00 ETA
226 Transfer complete
20280 bytes sent in 00:00 (260.10 KiB/s)
ftp> ls
229 Entering Extended Passive Mode (|||60334|)
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 jfuser   ftpgroup    20280 Dec 13 16:10 config.log
-rw-r--r--   1 root     root            0 Dec 13 15:48 test
-rw-r--r--   1 jfuser   ftpgroup        0 Dec 13 16:10 test2
226 Transfer complete


Why does this config file not support any graphical FTP clients?

# This is the ProFTPD configuration file
#
# See: http://www.proftpd.org/docs/directives/linked/by-name.html

# Server Config - config used for anything outside a <VirtualHost> or
<Global> context
# See: http://www.proftpd.org/docs/howto/Vhost.html

ServerName			"ProFTPD server"
ServerIdent			on " FTP Server ready."
ServerAdmin		        root at localhost	
DefaultServer			on
DefaultRoot                     ~
PassivePorts                    60000 65535
           	

# Cause every FTP user except adm to be chrooted into their home directory
# Aliasing /etc/security/pam_env.conf into the chroot allows pam_env to
# work at session-end time (http://bugzilla.redhat.com/477120)
VRootEngine			on
VRootAlias			etc/security/pam_env.conf /etc/security/pam_env.conf

  # Define the log formats
  LogFormat			default	"%h %l %u %t \"%r\" %s %b"
  LogFormat			auth	"%v [%P] %h %t \"%r\" %s"
	

# Use pam to authenticate (default) and be authoritative
#AuthPAMConfig			proftpd
#AuthOrder			mod_auth_pam.c* mod_auth_unix.c
# If you use NIS/YP/LDAP you may need to disable PersistentPasswd
#PersistentPasswd		off

# Don't do reverse DNS lookups (hangs on DNS problems)
UseReverseDNS			off

# Set the user and group that the server runs as
User				nobody
Group				nobody


# To prevent DoS attacks, set the maximum number of child processes
# to 20.  If you need to allow more than 20 concurrent connections
# at once, simply increase this value.  Note that this ONLY worksuth
# in standalone mode; in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances			20

# Disable sendfile by default since it breaks displaying the download speeds in
# ftptop and ftpwho
UseSendfile			off

   # Dynamic Shared Object (DSO) loading
# See README.DSO and howto/DSO.html for more details
#
# General database support (http://www.proftpd.org/docs/contrib/mod_sql.html)
 LoadModule mod_sql.c
#
# Support for base-64 or hex encoded MD5 and SHA1 passwords from SQL tables
# (contrib/mod_sql_passwd.html)
#   LoadModule mod_sql_passwd.c
#
# Mysql support (requires proftpd-mysql package)
# (http://www.proftpd.org/docs/contrib/mod_sql.html)
 LoadModule mod_sql_mysql.c

# Postgresql support (requires proftpd-postgresql package)
# (http://www.proftpd.org/docs/contrib/mod_sql.html)
#   LoadModule mod_sql_postgres.c

 # Quota support (http://www.proftpd.org/docs/contrib/mod_quotatab.html)
 LoadModule mod_quotatab.c

# File-specific "driver" for storing quota table information in files
# (http://www.proftpd.org/docs/contrib/mod_quotatab_file.html)
#   LoadModule mod_quotatab_file.c

 # SQL database "driver" for storing quota table information in SQL tables
 # (http://www.proftpd.org/docs/contrib/mod_quotatab_sql.html)
 LoadModule mod_quotatab_sql.c


# TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html)
<IfDefine TLS>
  TLSEngine			on
  TLSRequired			on
  TLSRSACertificateFile		/etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile	/etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite		ALL:!ADH:!DES
  TLSOptions			NoCertRequest
  TLSVerifyClient		off
  #TLSRenegotiate		ctrl 3600 data 512000 required off timeout 300
  TLSLog			/var/log/proftpd/tls.log
  <IfModule mod_tls_shmcache.c>
    TLSSessionCache		shm:/file=/var/run/proftpd/sesscache
  </IfModule>
</IfDefine>

# Dynamic ban lists (http://www.proftpd.org/docs/contrib/mod_ban.html)
# Enable this with PROFTPD_OPTIONS=-DDYNAMIC_BAN_LISTS in /etc/sysconfig/proftpd
<IfDefine DYNAMIC_BAN_LISTS>
  LoadModule			mod_ban.c
  BanEngine			on
  BanLog			/var/log/proftpd/ban.log
  BanTable			/var/run/proftpd/ban.tab

  # If the same client reaches the MaxLoginAttempts limit 2 times
  # within 10 minutes, automatically add a ban for that client that
  # will expire after one hour.
  BanOnEvent			MaxLoginAttempts 2/00:10:00 01:00:00

  # Allow the FTP admin to manually add/remove bans
  BanControlsACLs		all allow user ftpadm
</IfDefine>

# Global Config - config common to Server Config and all virtual hosts
# See: http://www.proftpd.org/docs/howto/Vhost.html
<Global>

  # Umask 022 is a good standard umask to prevent new dirs and files
  # from being group and world writable
  Umask				022


  # Allow users to overwrite files and change permissions
  AllowOverwrite		yes
  <Limit ALL SITE_CHMOD>
    AllowAll
  </Limit>



 # The passwords in MySQL are encrypted using CRYPT
 SQLAuthTypes            Plaintext Crypt
 SQLAuthenticate         users groups

 # used to connect to the database
 # databasename at host database_user user_password
 SQLConnectInfo  ftp at localhost proftpd Duk30fZh0u

 # Here we tell ProFTPd the names of the database columns in the "usertable"
 # we want it to interact with. Match the names with those in the db
 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

 # 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        500

 # 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

 SQLLogFile                      /home/bluethundr/sqllog.dbg

 QuotaLimitTable sql:/get-quota-limit
 QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

 RootLogin off
 RequireValidShell off

</Global>


<VirtualHost 184.72.158.17>
  MasqueradeAddress  184.72.158.17
    <Directory /var/www/jf-current>
    Umask 022
    <Limit ALL>
        AllowUser jfuser
    </Limit>
  </Directory>
</VirtualHost>

<VirtualHost 10.34.135.34>
  <Directory /var/www/jf-current>
    Umask 022
    <Limit ALL>
        AllowUser jfuser
    </Limit>
  </Directory>
</VirtualHost>



Thanks in advance for your help!

Tim
-- 
GPG me!!

gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B



More information about the CentOS mailing list