proFTPD permission denied

27,529

Solution 1

And I finally come up with a solution - changing the permission of my folder

Which can be found here

Solution 2

sudo chown -R user:root /var/www/

then

chown -R user:www-data /var/www

change user

Share:
27,529
伍柒貳
Author by

伍柒貳

Updated on July 13, 2020

Comments

  • 伍柒貳
    伍柒貳 almost 4 years

    So, I'm running proFTPD (should be the newest one from www.webmin.com)(with webmin1.760),
    on Ubuntu 14.04.3 LTS Server (32-bit).

    With the admin username and password,
    I can use FileZilla to access the FTP server from another home PC, but I'm not permitted to upload/modify/create files.

    Below is the error showed on the FileZilla, on delete :

    Status: Deleting "/var/www/html/index.html"
    Command:    DELE index.html
    Response:   550 index.html: Permission denied
    

    , on create :

    Status: Retrieving directory listing of "/var/www/html"...
    Status: Directory listing of "/var/www/html" successful
    Response:   421 No transfer timeout (600 seconds): closing control connection
    Error:  Connection closed by server
    


    I've tried googling, but it doesn't seem to be a common error,
    and I don't either find any permission option for admin in the "etc/proftpd/proftpd.conf"

    This is my proftpd.conf:

    #
    # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
    # To really apply changes, reload proftpd after modifications, if
    # it runs in daemon mode. It is not required in inetd/xinetd mode.
    # 
    # Includes DSO modules
    Include /etc/proftpd/modules.conf
    # Set off to disable IPv6 support which is annoying on IPv4 only boxes.
    UseIPv6             on
    # If set on you can experience a longer connection delay in many cases.
    IdentLookups            off
    ServerName Debian
    ServerType standalone
    DeferWelcome            off
    MultilineRFC2228 on
    DefaultServer           on
    ShowSymlinks on
    TimeoutNoTransfer 600
    TimeoutStalled 600
    TimeoutIdle 1200
    DisplayLogin welcome.msg
    DisplayChdir .message true
    ListOptions "-l"
    DenyFilter \*.*/
    # Use this to jail all users in their homes 
    # DefaultRoot           ~
    # Users require a valid shell listed in /etc/shells to login.
    # Use this directive to release that constrain.
    # RequireValidShell     off
    # Port 21 is the standard FTP port.
    Port                21
    # In some cases you have to specify passive ports range to by-pass
    # firewall limitations. Ephemeral ports can be used for that, but
    # feel free to use a more narrow range.
    # PassivePorts                  49152 65534
    # If your host was NATted, this option is useful in order to
    # allow passive tranfers to work. You have to use your public
    # address and opening the passive ports used on your firewall as well.
    # MasqueradeAddress     1.2.3.4
    # This is useful for masquerading address with dynamic IPs:
    # refresh any configured MasqueradeAddress directives every 8 hours
    <IfModule mod_dynmasq.c>
    # DynMasqRefresh 28800
    </IfModule>
    # 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 30
    # Set the user and group that the server normally runs at.
    User proftpd
    Group nogroup
    # Umask 022 is a good standard umask to prevent new files and dirs
    # (second parm) from being group and world writable.
    Umask 007 007
    # Normally, we want files to be overwriteable.
    AllowOverwrite on
    # Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
    # PersistentPasswd      off
    # This is required to use both PAM-based authentication and local passwords
    # AuthOrder         mod_auth_pam.c* mod_auth_unix.c
    # Be warned: use of this directive impacts CPU average load!
    # Uncomment this if you like to see progress and transfer rate with ftpwho
    # in downloads. That is not needed for uploads rates.
    #
    # UseSendFile           off
    TransferLog /var/log/proftpd/xferlog
    SystemLog /var/log/proftpd/proftpd.log
    # Logging onto /var/log/lastlog is enabled but set to off by default
    #UseLastlog on
    # In order to keep log file dates consistent after chroot, use timezone info
    # from /etc/localtime.  If this is not set, and proftpd is configured to
    # chroot (e.g. DefaultRoot or <Anonymous>), it will use the non-daylight
    # savings timezone regardless of whether DST is in effect.
    #SetEnv TZ :/etc/localtime
    <IfModule mod_quotatab.c>
    QuotaEngine off
    </IfModule>
    <IfModule mod_ratio.c>
    Ratios off
    </IfModule>
    # Delay engine reduces impact of the so-called Timing Attack described in
    # http://www.securityfocus.com/bid/11430/discuss
    # It is on by default. 
    <IfModule mod_delay.c>
    DelayEngine on
    </IfModule>
    <IfModule mod_ctrls.c>
    ControlsEngine        off
    ControlsMaxClients    2
    ControlsLog           /var/log/proftpd/controls.log
    ControlsInterval      5
    ControlsSocket        /var/run/proftpd/proftpd.sock
    </IfModule>
    <IfModule mod_ctrls_admin.c>
    AdminControlsEngine off
    </IfModule>
    #
    # Alternative authentication frameworks
    #
    #Include /etc/proftpd/ldap.conf
    #Include /etc/proftpd/sql.conf
    #
    # This is used for FTPS connections
    #
    #Include /etc/proftpd/tls.conf
    #
    # Useful to keep VirtualHost/VirtualRoot directives separated
    #
    #Include /etc/proftpd/virtuals.conf
    # A basic anonymous configuration, no upload directories.
    # <Anonymous ~ftp>
    #   User                ftp
    #   Group               nogroup
    #   # We want clients to be able to login with "anonymous" as well as "ftp"
    #   UserAlias           anonymous ftp
    #   # Cosmetic changes, all files belongs to ftp user
    #   DirFakeUser on ftp
    #   DirFakeGroup on ftp
    # 
    #   RequireValidShell       off
    # 
    #   # Limit the maximum number of anonymous logins
    #   MaxClients          10
    # 
    #   # We want 'welcome.msg' displayed at login, and '.message' displayed
    #   # in each newly chdired directory.
    #   DisplayLogin            welcome.msg
    #   DisplayChdir        .message
    # 
    #   # Limit WRITE everywhere in the anonymous chroot
    #   <Directory *>
    #     <Limit WRITE>
    #       DenyAll
    #     </Limit>
    #   </Directory>
    # 
    #   # Uncomment this if you're brave.
    #   # <Directory incoming>
    #   #   # Umask 022 is a good standard umask to prevent new files and dirs
    #   #   # (second parm) from being group and world writable.
    #   #   Umask               022  022
    #   #            <Limit READ WRITE>
    #   #            DenyAll
    #   #            </Limit>
    #   #            <Limit STOR>
    #   #            AllowAll
    #   #            </Limit>
    #   # </Directory>
    # 
    # </Anonymous>
    # Include other custom configuration files
    Include /etc/proftpd/conf.d/
    AccessGrantMsg "Successful login"
    <Global>
    </Global>
    

    It's very confusing to handle on my own because I can't even find any clue except the error shown on FileZilla.

    FTP is important for me to config my server, it would be a big help if you can give any clue, thank you.

    Also, I may as well use another FTP server, any suggestion?

    • Shi
      Shi over 8 years
      Which user do you use to log into the FTP server? /var/www/html/ might be owned by user www-data and if you log in as another user, you likely cannot write to that directory - hence permission denied.
    • 伍柒貳
      伍柒貳 over 8 years
      @Shi Hmm... I guess not, because I can do "sudo rm" to remove files inside the /var/www/html with terminal. And I found that I can modify the file with root with the File Manager of Webmin, so I guess I can do that with root remotely but not my own user.
    • Shi
      Shi over 8 years
      This is because root is the super user who can do nearly everything.