Hello, I followed the following tutorial on the site. http://www.howtoforge.com/proftpd_mysql_virtual_hosting Everything has gone well so far however, when I try to login to the FTP server It logs me in fine be stops on LISTING the directory folders and then stops, then returns the error "Permission Denied" Heres the output: HTML: [CMDLINE] -acceptNewKey -pr -gui 1969334 -v -fast -id 366091383 -batch -pw ****** -ls -l "egor" -host "127.0.0.1" -rdir "/" /*Client 366091383 attached*/ [OUT_19316] Syncronization Level: 0 [OUT_19316] Passive mode: OFF [OUT_19316] 127.0.0.1 [OUT_19316] 220 FTP Server ready. [OUT_19316] USER egor [OUT_19316] 331 Password required for egor [OUT_19316] PASS (want to know) :-P [OUT_19316] 230 User egor logged in. [OUT_19316] SYST [OUT_19316] 215 UNIX Type: L8 <Autodetect server type.....UNIX> [OUT_19316] REST 100 [OUT_19316] 501 REST: Resuming transfers not allowed in ASCII mode [OUT_19316] This site cannot resume broken downloads/uploads [OUT_19316] CWD / [OUT_19316] 250 CWD command successful [OUT_19316] PWD [OUT_19316] 257 "/" is the current directory [OUT_19316] Logged in [OUT_19316] TYPE A [OUT_19316] 200 Type set to A [OUT_19316] PORT 192,168,2,151,211,18 [OUT_19316] 200 PORT command successful [OUT_19316] LIST [ERR_19316] !29: Permission denied My Config: HTML: # This is the ProFTPD configuration file ServerName "ProFTPD server" ServerIdent on "FTP Server ready." ServerAdmin root@localhost ServerType standalone #ServerType inetd DefaultServer on AccessGrantMsg "User %u logged in." #DisplayConnect /etc/ftpissue #DisplayLogin /etc/ftpmotd #DisplayGoAway /etc/ftpgoaway DeferWelcome off # Use this to excude users from the chroot # DefaultRoot ~ !adm AllowOverwrite on UseFtpUsers on ShowSymlinks on AllowOverwrite on DefaultRoot ~ DefaultChdir ~ DelayEngine off # Use pam to authenticate (default) and be authoritative #AuthPAMConfig proftpd #AuthOrder mod_auth_pam.c* mod_auth_unix.c # Do not perform ident nor DNS lookups (hangs when the port is filtered) IdentLookups off UseReverseDNS off # Port 21 is the standard FTP port. Port 21 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 # Default to show dot files in directory listings ListOptions "-a" # See Configuration.html for these (here are the default values) #MultilineRFC2228 off #RootLogin off #LoginPasswordPrompt on #MaxLoginAttempts 3 #MaxClientsPerHost none #AllowForeignAddress off # For FXP # Allow to resume not only the downloads but the uploads too AllowRetrieveRestart on AllowStoreRestart on # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # 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 # Set the user and group that the server normally runs at. User ftpuser Group ftpgroup # Disable sendfile by default since it breaks displaying the download speeds in # ftptop and ftpwho UseSendfile no # This is where we want to put the pid file ScoreboardFile /var/run/proftpd.score # Normally, we want users to do a few things. <Global> AllowOverwrite yes <Limit ALL SITE_CHMOD> AllowAll </Limit> </Global> # Define the log formats LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" # SQL authentication Dynamic Shared Object (DSO) loading # See README.DSO and howto/DSO.html for more details. #<IfModule mod_auth_pam.c> #AuthPAM on #</IfModule> LoadModule mod_quotatab.c <IfModule mod_dso.c> LoadModule mod_sql.c LoadModule mod_sql_mysql.c # LoadModule mod_sql_postgres.c </IfModule> # The passwords in MySQL are encrypted using CRYPT SQLAuthTypes Plaintext CRYPT SQLAuthenticate users* groups* # used to connect to the database # databasename@host database_user user_password SQLConnectInfo #######@######## ##### ######################### # 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 servers ftp_username ftp_password uid gid homedir shell #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 500 # 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 $ 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$ 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$ SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies SQLNamedQuery gettally SELECT "ROUND((bytes_in_used/1048576),2) FROM ftpquotatallies WHERE name='%u'" SQLNamedQuery getlimit SELECT "ROUND((bytes_in_avail/1048576),2) FROM ftpquotalimits WHERE name='%u'" SQLNamedQuery getfree SELECT "ROUND(((ftpquotalimits.bytes_in_avail-ftpquotatallies.bytes_in_used)/1048576),2) FROM ftpquotalimits,ftpquotatallies WHERE ftpquotalimits.name = '%u' $ SQLShowInfo LIST "226" "Used %{gettally}MB from %{getlimit}MB. You have %{getfree}MB available space." QuotaLimitTable sql:/get-quota-limit QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally RootLogin off RequireValidShell off SQLLogFile /var/log/proftpd_SQL.log The folder has all the permissions: Thanks In advance!
What's the output of Code: ls -la /home/svr00004 ? Did you try both active and passive transfers in your FTP client?