Best Linux OS 'NOW' for FTP server

Hi Experts,

I know this has been asked before but, what is the recommended Linux OS for setting up FTP server now for corporate network?

I'm quiet a entry user for Linux but I need to try setting up a FTP.

I've heard that vsftpd is most recommended too.

Could anyone give me any hand decision making?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

The best Linux distribution - one that the administrator knows best.
lucifer82Author Commented:
pilson66: Thanks but I'm more expecting a suggestion then stated a obvious.
FTP server should not be a big deal.  Best for production is Red Hat /Centos.  CentOS is free, but really good quality.

Fedora is experimental, good to test latest features but not good for production where you want server to keep running without problems.

Some people like Red Hat due to very regular upgrade cycles.  CentOS is just a free version of Red Hat.  It is very secure and stable.  I have seen Red Hat being trusted where few OS would work-- inside huge telecom industry giants with the greatest possible loads and 5,000+ server environments.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

lucifer82Author Commented:
So say CentOS to start with, which FTP client do you recommend?

any recommended guide to setup both of them?

Sikhumbuzo NtsadaIT AdministrationCommented:
You can give Debian a go, it is very stable easy to install things. Just apt-get install program-name
Sikhumbuzo NtsadaIT AdministrationCommented:
Here is the link I followed to setup my FTP-SERVER on Debian/Ubuntu.
CentOS is every thing very easy as well.

To install anything,

yum install <package>

For FTP, you just have to select FTP at install time and it would be installed along with the OS.  It is VSFTP --very secure FTP.

Finally, I would say that there are many Linux distributions that are good and stable.  I met a Debian guy and he told me all the good things about it and I asked what kind of environment he had, how many server and how much load.  He told me it was like 78 servers with about 200 images.  I was in those days working with a telecom giant to deploy Red Hat and it was more than 10,000 servers.  That company was dealing with the amount of data which put the OS to the extreme test and Red Hat passed it with flying colors.  CentOS--same thing
You can download CentOS that comes with all packages, FTP, Apache and a lot more
lucifer82Author Commented:
Seems like CentOS vs Debian is the common thing?

I'm thinking about installing Webmin to support me as it seems to have good GUI support for Linux?

Does anyone have any experience on it?
Since many things have been covered, ubuntu server which uses debian style package management (apt-get install package name) is good as well and easy to setup.
Get virualbox or vmware install three VM on your workstation with 2-4 GB virtual hard drive for each.  Download an ISO of each and install them as a Guest Virtual Machine.  Test drive each system for ease of use ease of configuration, etc.  Asking for opinions from people will get you many, but I also think that any of the individuals who responded when placed in front of a system, would be able to navigate their way to resolve the issue at hand.
The FTP server setup is the easiest part since during the install of any of the mentioned linux distribution, you are asked how you want the system configured and it provides you a list of items, web server, database (mysql), ftp server etc.  The difficult part comes in later and deals with user management i.e. do you use locally configured users, do you join this system into an existing LDAP/NIS/AD domain or do you install/configure ldap on this system in the event you would need more than one FTP server down the line to share the load while having common storage area.
lucifer82Author Commented:
Hi Arnold,

Thank you for the deep answer.

I'm basically after simple FTP server to build at the moment when I could simply use it to allow 3rd party download or upload to/from this server.

Just like any other company we are looking for cheap and easy solution. Hence the quesiton became very broad.

At the moment I have VM created with CentOS with Webmin installed and trying to work out out to setup vsftpd

I may look at using the Debian if it's going to take little longer.
Once you get your arms around the steps/process, any subsequent will be simpler without regard to which OS you choose.  Hardware wise you can use any workstation you have lying around and install linux on it for use as the FTP server, the only issue deals with whether you have enough storage capacity on the system for your purpose. CPU/memory would often not be an issue i.e. you could run a PII 500 with 128 MB memory as an FTP server which could support 10-15 simultaneous users.
lucifer82Author Commented:
Ok base on the fact that my previous used CentOS on other area of the business I've decided to use CentOS.

Now I've installed vsftpd with basic configuration... but how do I make it so that when I create the folder allow certain user accounts to login??
In  your /etc/vsftpd/vsftpd.conf file if userlist_deny=NO

Then users in the file
will only be allowed.

If however,  userlist_deny=YES (default), it would not allow users in this file
lucifer82Author Commented:
but say I have made folder



under /var/ftp

and if I created users



how would I allow a1 to just access A and b1 to just access B ???
Those folder should be owned by a1 and b1 respectively.  Only they should have permission for these folders.

chown a1: /var/ftp/A1
chown b1: /var/ftp/B1
chmod 700 /var/ftp/A1 /var/ftp/B1

lucifer82Author Commented:
Hmm it's still not working when I try to open the FTP address.

I've attached my vsftpd.conf file as below
# Example config file /etc/vsftpd/vsftpd.conf
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
# Uncomment this to allow local users to log in.
# Uncomment this to enable any form of FTP write command.
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
# The target log file can be vsftpd_log_file or xferlog_file.
# This depends on setting xferlog_std_format parameter
# Make sure PORT transfer connections originate from port 20 (ftp-data).
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
# The name of log file when xferlog_enable=YES and xferlog_std_format=YES
# WARNING - changing this filename affects /etc/logrotate.d/vsftpd.log
# Switches between logging into vsftpd_log_file and xferlog_file files.
# NO writes to vsftpd_log_file, YES to xferlog_file
# You may change the default value for timing out an idle session.
# You may change the default value for timing out a data connection.
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
# You may fully customise the login banner string:
ftpd_banner=Welcome to PTSHK FTP service.
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
# (default follows)
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (default follows)
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
# When "listen" directive is enabled, vsftpd runs in standalone mode and 
# listens on IPv4 sockets. This directive cannot be used in conjunction 
# with the listen_ipv6 directive.
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
# sockets, you must run two copies of vsftpd whith two configuration files.
# Make sure, that one of the listen options is commented !!


Open in new window

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.