There are three different ways to set up an ftp server:
(1) Anonymous FTP :
People can access the server only with the anonymous account and without a password. Of course, the server administrator will set a limit for uploads to prevent users from putting illegal files like pirated music/films/games.
(2) FTP with both anonymous access and users with a passworded account:
This method lets both anonymous and passworded account users to enter the server. They will only have access to a specified directory, except for the user root who can view/modify/delete all files and/or folders.
(3) FTP with mysql support for virtual users authentication :
This method allows access to the server only for some user groups that haven't got a virtual users authentication shell account on the system. It uses an external mysql server that stores user information.
First Option : Anonymous FTP
Before starting the creation of an anonymous ftp server, you have to add a user called ftp into your system, with a home directory too. This step is really easy, just follow these commands:
useradd -d /home/ftp/ftp -s /bin/false ftpmkdir -p /home/ftp/upload
Doing this permits only this account to write in this folder. You can use more variables to specify what the ftp server will do. Here are some examples:
-e Allow access to the server only by anonymous users-B Start the server with background demon-i Anonymous users can't upload files-M Let anonymous users create folders-s ftp user files cannot be downloaded
Second Option : '''Both anonymous and passworded account users'''
To make it possible to have both anonymous and passworded account users in the same server, follow this small guide :
-B ,-i ,M, -r, -s same of before-u <uid> Enable users with a specified user id (uid) to access the server -V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode
Third Option : '''Virtual Users with Mysql'''
To create a server with mysql support follow this steps :
Download and install User Manager for PureFTPd which you can find here http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Decompress it and upload all its contents into your web server www directory and then write on your browser this link link http://localhost/ftp/install.phpFollow all the steps that the installer asks to youCopy and save rge pureftpd-mysql.conf into pureftpd user manager directory
Done. Access to the administration panel using this link http://localhost/ftp
More options to add before launch the server process
-c <num> Max client that can connect to the server-C <num> Max connections for a IP-T <bandwitdh> Max bandwitdh disponible for each connection-n <MBytes> Max MB that a user can have into its home folder-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value
And see this for some ftp server application:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html