0

I have proftpd running with a mariadb (mysql) backend.

I have created a user midas in the ftp database.

At the moment of first login, proftpd (running as user proftpd and group proftpd) creates a home directory for this user located at /var/ftp/.

This works fine, I see the directory being created:

[root@vps ftp]# ls -la
total 24
drwxr-xr-x.  5 proftpd proftpd 4096 10 jul 19:19 .
drwxr-xr-x. 22 root    root    4096 10 jul 12:56 ..
drwxrwxr-x.  2 proftpd proftpd 4096 10 jul 19:34 midas

On the client side, issueing the put commando returns a 550: Permission denied

ftp> put ~/website.zip remotewebsite.zip
local: /home/midas/website.zip remote: remotewebsite.zip
200 PORT command successful
550 remotewebsite.zip: Permission denied

To verify that I am in the correct directory, and that proftpd DOES have write access to this folder, I created an empty file somefile.:

[proftpd@vps midas]$ touch somefile --> returns no errors and shows up for my user midas clientside.

ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-rw-r--   1 1001     1001            0 Jul 10 17:48 somefile
226 Transfer complete

I am sure I'm missing some very basic understanding here, but I must confess this is the first time I'm working with virtual users. Any pointers towards a solution would be very much appreciated.

user364469
  • 132
  • 11

1 Answers1

2

The dot at the end of the permissions set, makes me think you have a SELinux security context enabled :

drwxrwxr-x.  2 proftpd proftpd 4096 10 jul 19:34 midas
          ^--dot

Either disable SELinux or make it permissive within file /etc/selinux/config (both not recommended), or better, set the security context :

setsebool -P allow_ftpd_full_access on
krisFR
  • 13,280
  • 4
  • 36
  • 42