I need to provide an FTP service that needs to be web-managed in the simplest way possible. My customer wants to create folders and users, and give them read only or read/write access arbitrarily.
The folder 'Documents' should be read only for several users, writable for internal users, and invisible for the rest.
The folder 'Pictures' should be read only for journalists, writable for associates, and invisible for the rest.
The folder 'Media' should be read only, writable or invisible for arbitrary users specified on the admin.
There could be a large number of users and folders.
I can't find a good way to accomplish that.
I thought that I could give each user a home folder and put symlinks for the folders he has read access to, and make the user part of the folder's group when he has write access too, but now I think that this wouldn't work, because with PureFTPd (or ProFTPd) I can only specify the virtual user's mapping to a system user, and only one GUID for each virtual user. My approach requires that I could specify several GUIDs for each user (one by each folder he has write access to).
I need to start programming this admin and I still don't know wich approach would work, if any.
The question is: How to give arbitrary permissions to 20 folders or so, to a large number of FTP users?