Anonymous FTP

The DJ

Registered
Does anyone happen to have a running ftp server for anonymous users? I'm trying to set up one, but have a few problems.

I now have an anonymous user for ftp. And a bin, etc and pub dir with all the correct permissions (i think), but i cannot get "ls" working. I have ls in ~ftp/bin. And this is what i get:

230 Guest login ok, access restrictions apply.
Remote system type is BSD.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for '/bin/ls'.
226 Transfer complete.
ftp>

Is there anything else i have to do? Do i need to put something in ~ftp/etc? I can cd into directories, but only if i know their names.

And how do i use /etc/ftpchroot i think it can be usefull for me in some situations

thx for the help

[Edited by The DJ on 10-31-2000 at 06:03 PM]
 
Oke, i got this tip from Russel Gould and it works.

here's how (it took me a while to figure this out, so enjoy :) )

1) All of step one is done using Terminal, which is located in /Applications/Utilities

note: replace all "user" with your user name or root
(it's more convenient with your user name because you can easily drop things into /Users/ftp/pub)

a) First create a directory in /Users that looks like this:

drwxr-xr-x 9 user ftp 262 Nov 1 15:32 ftp

b) Then in /Users/ftp create the following directories:

bin
usr/lib
System/Library/Frameworks/System.framework/Versions/B
pub
incoming

c) Copy the following files to their respective corresponding directories in the ftp directory:

/bin/ls
/usr/lib/dyld
/System/Library/Frameworks/System.framework/Versions/B/System



d) Then, in /Users/ftp: make sure the file permissions look like this:

total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:29 System
dr-xr-xr-x 3 user ftp 58 Oct 4 15:30 bin
drwx-wx-wx 10 user ftp 296 Oct 30 02:06 incoming
drwxr-xr-x 6 user ftp 160 Nov 1 01:01 pub
dr-xr-xr-x 3 user ftp 58 Oct 4 15:29 usr

./System:
total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:29 Library

./System/Library:
total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:29 Frameworks

./System/Library/Frameworks:
total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:29 System.framework

./System/Library/Frameworks/System.framework:
total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:29 Versions

./System/Library/Frameworks/System.framework/Versions:
total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:30 B

./System/Library/Frameworks/System.framework/Versions/B:
total 2408
-r-xr-xr-x 1 root ftp 1231624 Oct 4 15:30 System

./bin:
total 56
-r-xr-xr-x 1 user ftp 26920 Oct 4 15:30 ls

./usr:
total 0
dr-xr-xr-x 3 user ftp 58 Oct 4 15:30 lib

./usr/lib:
total 616
-r-xr-xr-x 1 user ftp 312384 Oct 4 15:30 dyld

note: if you don't know how to change permissions, read the man pages of
chown (type - man chown) for changing file/directory ownership
chgrp (type - man chgrp) for changing file/directory group ownership
chmod (type - man chmod) for changing file directory user/group/other permissions

2) you have to manually create an ftp user using NetInfoManager which is located in /Applications/Utilities

here's how:
open NetInfoManager
under /users create a new directory and label it ftp
then put in the following properties and values:
property | value
-----------------------------------
uid | 21
expire | 0
name | ftp
passwd | *
home | /Users/ftp
change | 0
shell | /dev/null
gid | -21

for passwd, make sure you put an asterix (*) and do not leave it empty, as this will allow the ftp user to login at the login screen of Aqua!
make sure also the shell is /dev/null, or the ftp user will be able to rlogin and telnet in and wreak havoc

also, you can don't have to have the "home" be /Users/ftp, "home" just has to be the location of the ftp directory you created i step one, which could conceivable be anywhere. Another logical place to put it might be in the same place as your WebServer, in /Library

You should now be good to go. Good luck!
 
If you follow the directions above, how do you chgrp the directories in ftp to ftp?

Do you also need to create a new group named ftp in NetInfo Manager?

It seems that just creating the user ftp does not do what you need.
 
Originally posted by astrodawg
If you follow the directions above, how do you chgrp the directories in ftp to ftp?

Do you also need to create a new group named ftp in NetInfo Manager?

You would have to create a group ftp first. But that is actually not really necesarry. Any group is good as long as it doesnt have write permissions. I personally use admin as the group.

DJ
 
Woo, let's revive an old thread!
Anywho, I'm still getting the same thing you were getting at first, DJ. It acts like it's getting a list when I type ls, but in fact it doesn't. I've done everything you said to do, even created a group called ftp with netinfo. Still no. Got any ideas for things I might have done wrong/not done at all?
 
Be aware as of OS X PB mounted non-root volumes are 777 meaning anonymous ftp users can wipe or otherwise alter your volumes.
 
Back
Top