Here is how I have done it:
For the user, put him/her in a separate group. Make the user's home directory the directory into which you want them to ftp. For the shell, specify /nosuchshell and don't put nosuchshell into /etc/shells. Set the password up as no password -- setuid only. (There will be an NP in the second field of the /etc/shadow file for the user.)
Then, you will have to set up the directory structure for the ftp user for commands you want the user to have. If you have Solaris 9 (8 may also have it), there is a command (ftpconfig) that can do it for you. If you don't have 9 (and if 8 doesn't have the command), you will have to do it manually.
Post back if you need help on that.