Apple's built-in FTP server, which is started by clicking a button in the Sharing prefs panel, is probably sufficient for most users. It gives easy access to your machine via FTP, but has some limitations. If you wish to allow others to FTP to your machine, you need to create an OS X account for each user. If you want those users restricted to their home directory, you need to create an 'ftpchroot' file that limits their access. Other more advanced tasks, such as space limitations, require further tweaking to the FTP server.
If you'd like an easy way to put a more robust FTP server solution in place, check out CrushFTP
by Ben Spink. CrushFTP is a Java-based application that runs on OS X (and OS 9!).
It has a wealth of options, including:
- User (add/delete/modify) management within CrushFTP
- Set disk quotas and other privileges by directory
- Set maximum idle and connect times and bandwidth limits
- Limit max downloads per session
- Easily specify which port CrushFTP will serve from
- Control which days a user may connect
- Limit or allow connections based on IP address
- Generate detailed usage reports
I ran a very simple speed comparison this afternoon (transfer one 7.9mb file from my Mac to my Win2000 laptop), and I was surprised to find that CrushFTP beat the built-in FTP server (444K per second vs. 440K per second). A more extensive test would have to be done on multiple files to verify the results, but CrushFTP seems to be just as speedy as the bundled FTP server -- at least in a single-user scenario.
CrushFTP is a $20 shareware application, and it's a fully try-before-you-buy package. If you're looking for a more advanced FTP server package, check it out.
I am not a registered CrushFTP user, as my FTP needs are simple. It just seems like a well-developed alternative to the bundled OS X FTP server, with easily defined options. As with anything that allows direct access to your machine, please make sure you're comfortable with the product and its background before installing or using it!