Chmod by ftp user (pure-ftpd)

September 3, 2014 2.8k views

I installed ISPConfig and an ftp server pure-ftpd.
Now I can not change the access rights for files and folders in FTP client.

'/web/engine/cache' '777'
SITE CHMOD 777 cache
550 Could not change perms on cache: Operation not permitted

Config in place for some reason is not. How do I fix permissions for FTP users?
Ubuntu 14.04

1 Answer

Hi Sobwoofer,

There are a few things to know about files permissions managed throught pure-ftpd service.

  • First you need to create a UNIX group that you can call 'ftpgroup', and that will be used for all FTP users connecting to your server :
groupadd ftpgroup
--> this will return you the ftpgroup id (gid)

  • Then, you can create a UNIX user that will belong to the FTP group id (gid) that was created :
pure-pw useradd <login> -u <uid> [-g <gid>]

  • Once the FTP user is created and the pure-ftp database initiated with pure-pw mkdb, you can worry about the directories rights.

The Chmod directive is controlled by UNIX rights. So, if you want FTP users to be able to interact with folders (dir1,dir2,dir3) in the root of your FTP server (/mnt/ftp), then they will have to belong at least to the "ftpgroup", with writing rights for the ftpgroup group :

mkdir -p /mnt/ftp/{dir1,dir2,dir3} && chown -R ftpuser:ftpgroup /mnt/ftp && chmod g+w -R /mnt/ftp

If your pure-ftp service is configured to allow Chmod directives, and configured to chroot ftpusers directly in your FTP root, then you should not encounter that problem any more.

Hope this could help,



Have another answer? Share your knowledge.