How do you give ftp access to only one directory?

How do you give ftp access to only one directory?
When I give access to C:/Inetpub/wwwroot/http/AccessDirectory
won’t this person have access to all directories and files in http?

How is this prevented?


Do you have root ftp access to your main domain and do you have Cpanel or maybe other control panel?
I think that you have this questions answered before continuing problem solving.

On my FTP server I set up user folders in a special directory that contains only user folders, and I make those folders and contents read-only. I can put files in there for individual users (say if I want them to have some utility or something). Then I turn off the ability for users to leave their folder (that is to do a “…”). And finally I create virtual folders (pointers) to the real folders where their websites are located. For each virtual folder I name the users who have access to it. I can put more than one name on a virtual folder.

Thus, when a user logs in they land in their user folder and see what I’ve placed there for them (but cannot write in that folder). They also see the virtual folders I’ve given them access to and can go into those folders to find their website. The contents of the virtual folders are writable.

I get some customers who want cross-access to each other’s websites, I get some customers who want to add “helper accounts” who only have access to a portion of their site, etc. I can do both and more with virtual folders.


IIS protip: never use the default website in production. Always use Virtual Sites and oftentimes Virtual Directories.

The other big question–what version of IIS are your running. Or, if you don’t know that, what version of Windows are your running?

I guess Alex’s “C:/Inetpub/” is an IIS default. I’d forgotten all about that.

I’m using Windows 2000 Server with all the latest patches and of course IIS 5. I’ve turned off all the default websites and am using host header names on every website with a single IP address for all – around 50 websites total. I’ve setup my drive E: as my Internet drive with folders like iFTP, iWebsites, iWeblogs, etc. When I first started fiddling around with this (kind of an advanced hobby for me) I didn’t think the FTP server that came with IIS would do virtual domains on a single IP address, so I purchased a copy of WS_FTP Server from IpSwitch. That’s what I’m using. FTP doesn’t know host header names, so it sorts out who’s who by requiring users log in with “username@domainname.tld” sort of like an e-mail address.

How does one do virtual folders from within IIS?


if you have CPanel as control panel then its very easy to do it…

  1. access the FTP account created…
  2. create username and below give the folder name

that’s it you are done now the username you created has only permission to access the specific directory you specified…

hope it helps…

If he is using IIS then he wont have cPanel.

Pretty easy–just right click on the site and choose add new virtual folder.

What you probably want to do here is copy the folder in question out of the site, then create a virtual folder pointing to that. Set the home folder for WSFTP to point there, then you should be good to go.