Ok, so I spent quite a bit of time trying to figure out how to allow anonymous ftp access on Mac OS X recently. This was a stupid mistake. There are a number of websites out there that describe some lame way of faking it. What I should have done in the first place is read the ftpd man page. Duh. This is UNIX after all, and the man page makes it clear.
I’d like to preface this by saying I from what I understand that Jaguar and earlier use a different ftpd than Panther. If you’re using Jaguar and you wreck your computer trying to follow these steps don’t complain to me.
So, first of all, go read the ftpd man page. Here’s the step by step for the lazy/impatient/ignorant.
In the System Preferences turn off FTP
In the NetInfo Database create a group as follows:
name=ftp passwd=* (Note the * is a literal *. Hold shift, press 8.) gid= any integer below 500. (I used 101.)
Create a user as follows:
name=ftp passwd=* expire=0 home=/Users/Shared (or anywhere else) shell=/usr/bin/false realname=Anonymous FTP change=0 _writers_passwd=ftp uid= The same as the gid from step 2 gid= The same as the uid
In the System Preferences, turn on FTP
To make things easier you can duplicate a pre-existing group/user and modify the values. Note that this is the way the lukemftpd is designed to work with anonymous users, and includes properly chrooting to the ftp directory.