1. Telnet into the box and change to the /mnt/syb8634/etc directory.
2. Jailbreak the ftpuser and move him into the mounting directory:
../bin/pure-pw usermod ftpuser -D /opt/sybhttpd/localhost.drives/ -f pureftpd.passwd
3. Re-write the PureFTPd user database:
../bin/pure-pw mkdb pureftpd.pdb -f pureftpd.passwd
4. That's it, you can confirm your changes if you want
../bin/pure-pw show ftpuser -f pureftpd.passwd
A recent upgrade reveals that this method no longer works, as the ftp user file is now created dynamically on startup.
To fix this, telnet into the box and copy to the /mnt/syb8634/etc/ftpserver.sh file to a download directory and edit the following section as below
echo -n "Starting FTP Server..." /mnt/syb8634/bin/nmt_services.cgi cmd=ftp_passwd opt=ftpuser > /dev/null 2> /dev/null /mnt/syb8634/bin/telnetd telnetd -l /bin/sh -p 23 & /mnt/syb8634/bin/pure-ftpd -j -H -lpuredb:/etc/pureftpd.pdb -U 133:022 -c 10 -k 100 -I 1440 -w & /mnt/syb8634/bin/pure-pw usermod ftpuser -D /opt/sybhttpd/localhost.drives/ -f /etc/pureftpd.passwd /mnt/syb8634/bin/pure-pw mkdb /etc/pureftpd.pdb -f /etc/pureftpd.passwd
Someone in the NMT forums asked me if there was a way to add additional users. I don't know why you would want multiple users, but here is your solution:
Add the following line to your start() script near the usermod line:
(echo NEWUSER PASSWORD; echo NEWUSER PASSWORD) | pure-pw useradd NEWUSER -D /opt/sybhttpd/localhost.drives -u nmt -f /etc/pureftpd.passwd
Obviously, you want to replace NEWUSER PASSWORD in both cases with the password for the user you are creating and NEWUSER in the last instance with the username you desire for your new user. You can do this as many times, to add as many users as you like.