Enabling the FTP Server on OS X Mavericks
Apple’s recently announced the new iPads and MacBooks. With the announcement is an updated version of Apple OS X — version 10.9 aka Mavericks. As a surprise, Apple is providing the new version of OS X for free.

After upgrading to OS X Mavericks and needing to put up an FTP server on my Mac, I went to run the System Preferences app to enable the FTP Server. To my surprise, the option isn’t available already.
Fortunately, as with other server software on the OS X, I can actually enable the FTP server using the launchctl program on the Mac.
The launchctl software interfaces with launchd (a software that runs on the background to manage daemons/agents on the Mac) daemon on OS X.
Launchctl allows Mac users to load, unload daemons/agents and generally control launchd. To load the FTP server, just run the Terminal app and run the command:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
And just like that FTP is now enabled.
You can unload the FTP server by also using the launchctl command. To unload the FTP server, just perform the following command in the Terminal app:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
For WordPress developers, the FTP server is a convenient software when upgrading WordPress and plugins running on the Mac.
[Update: 19-Nov-2013]
Accessing the FTP server
After setting up the FTP server, you can access to it using the web browser. You can also use an ftp client like Forklift for the OS X or Filezilla (runs on both Windows and OS X).
Using your Mac’s OS X username and password, you can gain access via localhost (for ftp access from the same computer). To access the ftp server from another computer over your network, use your computer’s IP address.
For example, to access the FTP server using a browser, just use the following URL format:
ftp://user@localhost (you will then be prompted by the password)
Gerry Ilagan
Gerry Ilagan is into mobile apps and WordPress development at @speeqs. He loves to write about electronics, the Internet of Things, mobile phones, and #crazyideas.
Comments
Thanks Gerry, but now how do I set ftp user info like id and password and what is the hostname?
‘computer_name’.local ….finally figured it out.
us noobs need that kind of obvious info too đ
So I know how to block a user from connecting now, is it as simple as creating a user in system preferences with limited rights for a ftp login?
Thanks for the above post btw, very helpful.
Thanks for pointing it out. I’ve updated the article.
the ftp sharing option has been gone since lion, not just now.
btw, it would have been useful if you pointed out how to change the ftp root directory. just a suggestion
Hi Gerry,
thy for this information, very helpful, but I did it not worked.
ftp localhost works fine, but ftp over the network, did not work.
Do you have any additional information how to debug the automatic start of the ftpd for an incoming connection
You might need to check your Mac’s firewall setting to allow incoming connections for FTP.
Thanks for the article..!
Thank you SO much. For the last few years I’ve been connecting from my Windows 7 computer to my iMac through Filezilla with no problem whatsoever. Until tonight. I could not figure out why all of a sudden I could not connect to my iMac any longer. The only thing I could figure was the trouble was that I just upgraded to Mavericks. My husband and I have been working on this for over 2 hours and were frustrated beyond frustrated. That is until we found your page. I followed your directions and Filezilla now connects like a charm again to my iMac. I cannot say thank you enough!!!!!
You’re welcome
Please Help Me:(
Is there a way i can share 1 specific folder instead of my whole ‘/’ directory i want to give my ftp details to my friend so he can download my project i am working on up to date so i dont have to keep emailing him the updated one every day đ please help? i dont want to use SMB or AFP i want FTP :(:(
Josh,
Iâm assuming from your comment that your friend is not in the same network as yours, thatâs why youâre sending it via email.
You first need to make sure that your Mac can be accessed via FTP by your friend over the Internet which needs additional setup that is out of the scope of this article.
I think a better solution would be something like Box.net or Dropbox or Google Drive where you both can share files.
Hi Gery, thx for the tips. now i can automatically update my WP installation.
Btw, for those of you who wants to share their localhost. This is not a safe option. Better use some kind of tunneling software like: http://localtunnel.me/
I put in the sudo command in Terminal; I get a message saying to double check it and if I want to proceed to enter my password. However, it won’t let me type my password at all. I can’t type anything more again after I enter the command. Not sure what’s up. Is there any other way to enable ftp on Mavericks? Or can somebody tell me why Terminal won’t let me put in my password?
Please check by typing your password and pressing Enter – you won’t see anything happening on the screen after the “Password:” prompt until you type your password and press Enter.
Thank you.
This post is helpful for me.
It’s work.
You’re welcome.
i can access my mac using ftp from my friends house because i tested it but i dont want him going through all my downloads and documents and pictures or like the file system đ is there a command to change the root directory?
One way, off the back of my mind, is to create another user on your Mac. Put in that user’s directory the files you want to share. And give him FTP access to that user.
[…] http://igerry.com/desktop/apple-os/enabling-ftp-server-os-x-mavericks.html […]
Thank you for this doc. I have question.
Do you now how I can restricted a user to single directory and prevent them from doing “cd..” ?
Ouch. This is good stuff but it opens up anonymous access!
OK, I am trying to follow, but I am a little confused. I am trying to let a Nikon WT-4 transmitted send directly to my Macbook. I have 10.9.2. You probably have this up above, but it just isn’t getting through me dense skull. This is the info I need to set up the WT-4. Can you help me a bit. This is great information.
1. SSID Name…is this my network name or an internal one I set up on the laptop?
2. TCP/IP setting….is the the raw setting in the file sharing I see? And is the subnet always 255.255.255.0?
3. FTP Settings…FTP server, server port, username and password. Is this the admin info for my whole computer?
Hopefully you can see my confusion. Any help is appreciated…
Thank you,
Scott
[…] thanks to iGerry […]
This little snippet of info is extremely valuable, but it is vulnerable to just simply load FTP. However, I think a few tweaks to the config file if there is one, you can probably restrict access to specific directories. I myself prefer using an external drive. If you run a MAMP or LAMP on your box with 2 or 3 web sites it might be extremely wise to dedicate specific directories for each site and assign specific logins.
Hey,
Do you know anyway to utilise this and use it to backup from cPanel to a folder on my desktop. Can’t really figure it out as there isn’t any information on where to find login information.
Hi, Thanks for this great little tip. Unfortunately i cannot disable the FTP once i run the first command.
I am getting the message
launchctl: Error unloading: com.apple.ftpd…
I was wondering if you could give me some directions as i worried about leaving the FTP enabled with regards to security.
Many thanks
Hi Barry,
The command:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
does it for me.
thanks
ive managed to make it work, I can use a browser to access localhost, but connected via another computer wont work. If i am using an FTP client on a different computer, what should the hostname be?? ive tried with ftp://user@localhost and IP address, didnt work…
Hi,
You need to use the IP Address of your Mac on your local network to access it from another computer (this computer should be connected on the same network)
I used these instructions very successfully for over a year. Thank you!! However, sometime around mid-August 2015, my ftp user could no longer log in. The response given is bad username or password – however, the username and password are correct since I’m able to log into the mac directly with the same credentials. Anyone have any idea what might have changed (maybe in an OS update?) that would have disabled ftp access for a user? I’ve looked all through the security, user, and sharing options and cannot locate anything that looks like it might be preventing a user from making an ftp connection. This is on OS X 10.10.5.
Thanks in advance!
Oops!! Right after I posted, I checked the logs and found that 10.10.5 was installed on that very day. So another search yielded the answer that 10.10.5 indeed reset some user permissions related to ftp. The solution is to re-enable the target user. A terminal command to do this was found in this support community article: https://discussions.apple.com/thread/7172583
Sorry for the needless plea.
Thanks again!
thanks for this tip! <3 <3
[…] Reference posts:Â Start an FTP or SFTP Server in Mac OS X Enabling the FTP Server on OS X Mavericks […]
Works Great, thank you !
This solution is perfect to control and set the correct permissions folders before send to Linux server with cPanel. Usually when the folders and files clients come by windos os, the folders and files come with diferents and wrong permissions setting for Unix Os.
With FilleZila, its possible to set the automatic permissions folders for all achives with the interface control. 0755 for folders and 0644 for files. Thank you !
======
Esta solução Ă© perfeita para controlar e definir as permissĂ”es corretas pastas antes de enviar para o servidor Linux com cPanel. Normalmente, quando as pastas e arquivos clientes vĂȘm por Windos OS, as pastas e arquivos vĂȘm com diferents e permissĂ”es erradas configuração para Unix Os.
Com FilleZila, Ă© possĂvel definir as pastas permissĂ”es automĂĄticas para todos os achives com o controle interface. 0755 para pastas e 0644 para arquivos. Obrigado !
I think you can modify the ftp plist and add a new path for home directory.