Ftp – Creating FTP site for uploading of files from multiple clients – how to create users

ftp

I am creating a FTP site that I want multiple users to upload files to. I don't want each user to see other uploads so I assume I will be using FTP User Isolation. However, do I create users accounts for each client that uploads? Do I do that as LocalUser / Domain user / or is there some other way. I don't want them accessing my domain or other uses on the server. The only thing they will do is upload files.

Best Answer

Not sure what OS, etc. that's important. If it is Windows, here's what I've done in the past.

I'll just assume local user accounts:

  1. set up the local user accounts on the computer for each "user/client"
  2. In explorer setup the NTFS structure so that you have a "root" folder and inside that folder you have folders for each client/etc.
  3. Set up the NTFS rights, so that each user (you can use a group called FTP users, and add them all to that group) has "List" rights to the root folder. Then give them specific rights to each of their "home" folders (read/write/whatever).
  4. In IIS for the FTP site, create virtual directories named EXACTLY the same as the user accounts you created, and point each one to the right home folder. ie. virtual directory of BOBJONES points to d:\ftpsite\BOBJONES
  5. go back into explorer and create a new folder in the same folder as the ROOT folder and call it DEADEND
  6. give the FTP users list/read permissions to the DEADEND folder
  7. Back in IIS set the "root folder" for the FTP site to the DEADEND folder

That's it.

now when BOBJONES logs into the FTP site he is in the BOBJONES directory. If he gets wily and tries to do a cd .. to go up to the parent/root he'll get knocked into the DEADEND folder and won't see the list of everyone else's home folders, etc. (NOTE: he can get back to his home folder by typing cd BOBJONES still)

ONE FINAL NOTE: anybody that has a user ID but no virtual directory named the same will get defaulted to the root directory which has been changed to DEADEND.