How to setup an ftp server with three possible options. What am I talking about?
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 -s /bin/false ftp mkdir -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.php
- Follow all the steps that the installer asks to you
- Copy 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