FTP Server Configuration

What is FTP?

FTP Stands for File Transfer Protocol. FTP allows you to accessremote computers and retrieve files from these computers. You can find FTP in the menu of your Internet access software program.

FTP is an Internet (or more properly a TCP/IP) communications protocol to allow you to upload and download files from a machine connected to your local machine via the Internet.  FTP is composed of two parts; an FTP client and an FTP server.  The FTP client is the software you execute on your local machine to send or receive files.  The FTP server is software which executes on a server machine on which the files are to be saved or retrieved.  Most (if not all) machines which provide Web serving capability also serve as FTP servers to allow you to upload your web pages.  Web pages are usually composed of HTML source files and images (either JPEG or GIF format).

A typical FTP session consists of these seven steps:

  1. Launch your FTP software (Fetch, Netscape, Minuet, and so on).
  2. Tell your software the address of the computer you are seeking.
  3. Tell the FTP server who you are (usually anonymous).
  4. Enter the password when prompted. Most of the time, entering a password is optional for public sites. It is common Net courtesy to enter your entire e-mail address instead of just leaving things blank.
  5. Browse the directories for files you want.
  6. Get the files you want.
  7. Log off (usually by typing quit, exit, or bye).

Install FTP Service

Check whether wu-ftpd is installed by doing: rpm -qa | grep wu-ftpd

If not download the wu-ftpd RPM package for

www.wu-ftpd.org  (or) www.redhat.com

Download the rpm file called wu-ftpd.x.x.x.rpm

For Install wu-ftpd RPM package :

# rpm –ivh wu-ftpd.x.x.x.rpm

Ftp server installed successfully . A file named wu-ftpd goes to /etc/xinet.d/ – To run ftp server you should edit the wu-ftpd file .

#joe /etc/xinet.d/wu-ftpd

Then just edit the last line –

disable = yes

to,

disable = no

And restart xinetd service (service xinetd restart or, /etc/init.d/xinetd restart).

Test your FTP Server:

#ftp localhost

Is it prompting for user name or password ?

Secure your FTP server:

Open /etc/xinet.d/wu-ftpd

# joe /etc/xinet.d/wu-ftpd

Then add the following line at the bottom of the file

####################

only_from = 192.168.10.0/24

####################

That will prevents all other than that block of ip address.

FTP Server/client Configuration Files

1. /etc/services

   Enable the following services

   ftp-data         20/tcp

   ftp                 21/tcp

An FTP server connects with clients on two ports. The  control process use 21 and data transfer processes use 20.

            2. /etc/passwd

                For a client to log in to FTP, the client must have a username in /etc/passwd file. This file is used to validate the user’s name and password.

                Anonymous FTP server is that where no password is required. To disallow anonymous login, remove the ftp account . To login as anonymous user, login as user anonymous and email address as password.

            3. /etc/ftpusers

                This file contains a list of users that are prohibited or denied from logging in using ftp command.

            4. /etc/ftpaccess

                This is the ftpd configuration file. It contains all the configuration settings.

            5. /etc/ftphosts

                This file can be used to limit the access.

            allow                user-name                   hostname/ IP Address

            Example :

            allow                aminul                          linux1

            This allow command will allow user aminul  to log in from host linux1 but from nowhere else.

Control and Monitoring FTP Server

Checking the current load

# ftpcount

 Checking the current session

# ftpwho

Shutting down and restarting FTP service

# ftpshut now

#ftpshut +10 (FTP will shut it down in 10 minutes)

#ftpshut 1045 (FTP will shut is down 10:45 AM)

#ftprestart

ftp server