So FTP in Linux can take some getting used to if you have multiple users sharing a FTP root, this is because uploaded files will be created with user and group of the logged in user as 644 (by default). Below I will put some steps I use to make a multiple use FTP environment using vsftpd.
First off we will want to change the umask for our FTP daemon so all files are created 664, this will give the group write access to all uploaded files. In the case of vsftpd you will want to alter the /etc/vsftpd/vsftpd.conf file and alter the local_umask variable to read “local_umask=002“, after making changes to your FTP daemon please restart.
$ service vsftpd restart
Next we will want to created a new common group and add our user to this supplementary group.
$ groupadd ftpusers
$ usermod -a -G ftpusers jeffrey
Now we will want to alter the FTP directory and all of its contents to have the correct group as well as grant group write permission.
$ cd /ftp (replace the path with your FTP root path)
$ chgrp -R ftpusers ../ftp
$ chmod -R g+w ../ftp
And lastly we will add GUID so all new files files uploaded are automated set to the correct group, to make this easy we will use a short find command.
$ find ../ftp -type d -exec chmod g+s {} \;
Now when the user uploads files to the /ftp directory they will be created with the group of ftpusers and the permission octect of 664 which grants our group members write access.

