>Springer) burst forth, saying:
>>: Symptoms: User (anonymous) logs in and sees nothing if they are using
>>: a GUI based ftp client (with the exception of PCTCP's windows client).
>>: Any command line based ftp seems to work properly. Users can see
>>: directories and files. If the user knows the full path and file name,
>>the wu-ftpd can do a 'LIST' in short form itself but needs ~/bin/ls in
>>the chroot-environment for doing it in long form (similar to 'ls -s').
>>if you're using the short 'ls' in your command line client, but your
>>GUI clients use 'ls -l' the first will do the second fail.
>Okay, additional info... When I ftp local host from the console, I get
>the same basic symptoms. I use ls - nada! I use nlist and voila! info
>revealed. Unfortunately, chameleon and a host of other clients won't
>do this as htey seem to be hard coded. WU-FTPD has nlist, which seems
>to be specific to it only. When I say see the files, I mean they can
>do a basic ls command and see the listing. I have made sure that the
>libraries are in place and properly set, the special device needed is
>set up, etc. A UNIX guru at work went through it all too, and is
>stumped. This seems to be a common problem withwu-ftpd as I saw a few
>messages about it over in th linux area too, all with the same
>problems. so again I plead HEEEELLLPPPP!
I don't know which OS you're using, so the following answer may not
apply. On SunOS, and several other flavors of Unix, /bin/ls is linked
dynamically. This means that at runtime, it needs to access libraries
in /usr/lib. If you just copy /bin/ls to ~/bin/ls for your chroot'ed
environment on such a system, this ls will fail because it can't find
the libraries that it needs in ~/usr/lib.
If this is the case, there are two solutions. You can either find ls
source somewhere (for example, a BSD source archive, such as on UUnet),
and compile it statically, without shared libraries. How exactly you
do that is specific to your system, you can probably find the answer
in the man page for your C compiler.
The other option is to find out what libraries ls wants, and make
copies of them in ~/usr/lib under your chroot'ed environment. You can
do something like "trace ls -l |& grep open" (if you're using a csh)
to see what libraries, devices, and other system files your ls needs.
"I think it's pretty clear that Unix is dead as a research system."