Navigate / search

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.

os-x-mavericks

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 mobile phones, #crazyideas, gadgets, technology startups.

Comments

Rich
Reply

Thanks Gerry, but now how do I set ftp user info like id and password and what is the hostname?

Rich
Reply

‘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.

Gerry Ilagan
Reply

Thanks for pointing it out. I’ve updated the article.

T
Reply

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

Thorsten
Reply

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

Gerry Ilagan
Reply

You might need to check your Mac’s firewall setting to allow incoming connections for FTP.

Ankit
Reply

Thanks for the article..!

Mary
Reply

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!!!!!

Gerry Ilagan
Reply

You’re welcome

Josh
Reply

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 :(:(

Gerry Ilagan
Reply

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.

Rizky
Reply

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/

Elsa
Reply

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?

Gerry Ilagan
Reply

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.

bbon
Reply

Thank you.
This post is helpful for me.
It’s work.

Josh
Reply

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?

Gerry Ilagan
Reply

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.

Will
Reply

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..” ?

Jay
Reply

Ouch. This is good stuff but it opens up anonymous access!

Scott
Reply

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

Barry Docherty
Reply

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.

Jay
Reply

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.

barry
Reply

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

Gerry Ilagan
Reply

Hi Barry,

The command:

sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist

does it for me.

tt
Reply

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…

Gerry Ilagan
Reply

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)

David
Reply

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!

David
Reply

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!

Peter
Reply

thanks for this tip! <3 <3

Mike
Reply

Works Great, thank you !

A.Torres
Reply

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 !

Matt
Reply

I think you can modify the ftp plist and add a new path for home directory.

Leave a comment

name*

email* (not published)

website