Proftpd LIST permission Problem

Discussion in 'HOWTO-Related Questions' started by HugofromBOSS, May 22, 2008.

  1. HugofromBOSS

    HugofromBOSS New Member

    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!
     
    Last edited: Oct 11, 2010
  2. falko

    falko Super Moderator Howtoforge Staff

    What's the output of
    Code:
    ls -la /home/svr00004
    ?
    Did you try both active and passive transfers in your FTP client?
     
  3. HugofromBOSS

    HugofromBOSS New Member

    Its ok I fixed it my FTP client was crap ... It works fine over putty etc. Thanks!
     

Share This Page