DrivenHost

Knowledgebase / cPanel & hosting

Create an FTP account (and when you actually need one)

How to create an extra FTP account in cPanel, restrict it to one directory for a developer, and why SFTP is usually the better choice.

This guide shows you how to create an additional FTP account in cPanel and lock it to a single directory, which is the main honest reason to do it: giving a developer or contractor access to one site without handing over your whole account. You need your cPanel login.

First, an honest word about FTP

You may not need a new FTP account at all. Your main cPanel username and password already work for file transfer, and more importantly they work over SFTP, which encrypts everything. Plain FTP sends your password and your files across the internet unencrypted, and in most transfer programs (FileZilla, Cyberduck, WinSCP) choosing SFTP is just a dropdown, using port 22 instead of 21.

So the practical rule: for your own day-to-day transfers, use SFTP with your existing cPanel credentials and skip this whole guide. Create a separate FTP account when you need to give someone else access, because it lets you restrict them to one folder and delete the account the moment the job is done, without ever sharing your cPanel password.

Create the account

  1. Log in to cPanel and open FTP Accounts, under the Files section.
  2. Under Add FTP Account, enter a username. The full login becomes [email protected].
  3. Set a strong password, or click Generate and store the result in a password manager.
  4. Set the Directory field. This is the important part: the account can only see this folder and everything below it. For a developer working on one site, point it at that site's document root, for example public_html or public_html/clientsite. cPanel pre-fills a folder named after the username; overwrite it, since that default folder is rarely what you want.
  5. Set a quota or leave it unlimited, then click Create FTP Account.

Hand over the connection details

The new account appears in the list on the same page, and Configure FTP Client next to it shows the settings. Give your developer four things: the server (usually your domain name), the full username including the @yourdomain.com part, the password, and the port. Ask them to connect with explicit FTP over TLS (FTPS) if their client offers it, so at least the login is encrypted. Note that these extra FTP accounts are FTP only; SFTP access belongs to the main cPanel user.

When the work is finished, come back to FTP Accounts and delete the account. cPanel will ask whether to delete the account's files too; if the directory was your live site, keep the files and remove only the account.

If it didn't work

  • Login fails. The most common cause is using only the short username. The full login is [email protected], and passwords are case sensitive.
  • The connection times out. A local firewall or office network may block FTP ports. Try from another network, or have the client use passive mode, which is the default in most modern programs.
  • The developer sees the wrong folder or an empty one. The Directory field was left at its default. Delete the account and recreate it with the correct path; the path cannot be edited afterwards from this screen.

If you would rather we set it up, open a ticket at /support and tell us which folder the account should see.

More in cPanel & hosting

Stuck partway through? Support is answered by the engineers who run the servers, around the clock.

← All guides

No sales team. No scripts.

Tell us what you're running.
We'll tell you what it needs.

Migrations are free, quotes are written, and the engineer who replies is on the team that will run your server.