Instructions for 10.2.x (Jaguar)

Sorry folks -- I wish I had a good answer here, but I've spent a couple of hours fiddling with trying to get this working, with no success so far.

There are essentially two workarounds:

  1. Create a user account to be used only for FTP
    Need to lock down account so it can't see the rest of the system, can't logon to the command line, etc.
  2. Use a different FTP server
    This means installing a separate FTP server to be used for anonymous FTP. It would have its own permissions system, and would have to run on a custom port (unless you disabled Apple's built-in FTP, which is already using the standard FTP port).

Comments

I've can do it

I dug extra deep one day and figured out how to create a real anonymous FTP. I've tested it myself on 10.3.4 with lukemftpd and tnftpd. I believe it works on Jaguar as well.

http://digitalelf.net/archives/000030.html

careful with this solution

the problem with this is then you don't get any updates (security or otherwise) that Apple may release to ftpd. I'm going to go with the ftp user route.

The 10.1 ftpd works ok on 10.2

Here's what I did to get anon ftp working with 10.2:
- copied the old 10.1 ftpd (which I had handy on a backup from my 10.1 system) to the 10.2 system. The old ftpd was in usr/libexec/ on the system disk. I put it into /usr/libexec/ftpd-10.1 on the new system disk.

- I turned off the ftp service in System Preferences -> Sharing

- I edited /etc/inetd.conf to uncomment the ftp line and changed the program name to ftpd-10.1 - so it now reads:
ftp stream tcp nowait root /usr/libexec/tcpd ftpd-10.1 -l

- sent inetd a SIGHUP to get it to reread inetd.conf. I.e. I did a
ps -aux | grep inetd
to find inetd's pid (look at the line that's running "inetd" not "grep inetd", the pid is the number in the second column), then
kill -HUP 356 # or whatever your inetd's pid is

Now you're back and running the 10.1 ftpd, from here the instructions for setting up anonymous ftp for 10.2 are good to go.

Cheers,

Aaron at cisco dot com

Good solution

Thanks for the suggestion, Aaron. A couple of notes, just to make things are clear:

  • in System Preferences --> Sharing, FTP must remain off -- you are using a "different" ftp than the built-in
  • instead of doing any complicated SIGHUP stuff, you can just restart your machine, at which point inetd will read its new config

So, you really are doing what I suggested -- running a "different" ftp server -- it just happens to be from a previous version of OS X, so it works well in the OS X environment.