ssh root@[ipcop IP] -p 222
Create the user's home directory (this will be the root ftp directory), so make sure you have enough space.
This is my output for df -h:
| Filesystem | Size | Used | Avail | Use% | Mounted on |
| rootfs | 7.1G | 166M | 6.9G | 3% | / |
| /dev/root | 7.1G | 166M | 6.9G | 3% | / |
| /dev/harddisk1 | 16M | 6.1M | 9.2M | 40% | /boot |
| /dev/harddisk2 | 22G | 2.6G | 18G | 13% | /var/log |
mkdir /var/log/home/data
I added a data group which is probably redundant: groupadd data
Next I created the data user: useradd -g data -d /var/log/home/data -s /bin/bash data
And gave him a password: passwd data
Unfortunately, vsftpd will require that the ftp root directory is owned by the root user, so I did:
chown root:root /var/log/home/data
It has to be writable and executable by all users: chmod 777 /var/log/home/data
Just remember this if you want to remove the user.
tar -xvzf vsftpd203.tar.gz and run the install script:
cd vsftpd*
./install
Editing /etc/vsftpd.conf
Now edit your /etc/vsftpd.conf using vim or any other editor
Mine looks like this (anonymous disabled):
anonymous_enable=NO
#ftp_username=data
#no_anon_password=YES
#anon_other_write_enable=YES
## IMPORTANT FOR IPCOP ##
check_shell=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
listen=Yes
You will also need to create the following directory: mkdir /usr/share/empty
vsftpd &That is that. If you have any problems, send me an email or chat to me on: #programming za.shadowfire.org
-----------------------
Carel van Wyk http://psichron.za.net/