[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Choosing best ftp daemon for our needs

Posted on 2005-04-21
20
Medium Priority
?
353 Views
Last Modified: 2013-12-06
I'm a WIN sys admin, and a Linux newbie, respectfully asking for your help in choosing the most appropiate ftp daemon for our specific needs (Vsftpd, ProFTPd, others?).

Currently run GuildFTPd on an old unreliable Windows box, so I have purchased a new Dell PowerEdge 2850 Server with Red Hat Enterprise Linux ES v3.  It came with Vsftpd installed, and I also installed Webmin, to help me find my way around Linux.

I ask for help in choosing the most appropiate ftp daemon to meet our needs as follows:

Currently about 100 customers send us files via ftp, and they also are able to download files that we create for them.  Each customer has his/her own login, password, and private folder, and can't see any other customer's folder or files.  Here at work, I have a few super users who have full access to all customers folders which are inside the main FTP Directory folder.  These super users can read, list, write, append, create, and delete.  The customers can do all these except delete, so that they are not tempted to use our FTP Server for their own purposes.  I tried setting up some regular user accounts in Vsftpd and noticed additional system files showing up in their home directories.  We do not want any files to show except what they upload or what we put in there for them to download.  I assume we would want to create Virtual Users, rather than Regular Users with the new system, to accomplish this.

Although we currently only have one FTP server running, we need the ability to set up multiple "entities" for different company names, so different groups of customers can login to Company A ftp, Company B ftp, etc.  So I assume we also need the ability to create Virtual ftp servers (I have additional available public IP addresses in our package that we can use for the "virtual" servers).

Another feature that would be nice is to be able to easily create many additional users frequently, as we expect many new customers on an ongoing basis.

Please help me select the most appropiate ftp daemon for our needs.  Thank you!
0
Comment
Question by:remestre
  • 8
  • 5
  • 2
  • +2
18 Comments
 
LVL 8

Accepted Solution

by:
marxy earned 1000 total points
ID: 13837256
Read there
http://www.bsdguides.org/guides/freebsd/networking/pure-ftpd_virtual_users.php
http://www.pureftpd.org/

I think PureFTPD is what do you expect.
It supports virtual users, chroot, flexible settings,

Also it has WebMin module to configure it easy.
http://webmin.thirdpartymodules.com/?page=Search&action=search&searchval=pure-ftpd
0
 
LVL 7

Expert Comment

by:macker-
ID: 13837549
ProFTPd is extremely configurable and supports privilege limiting based on per-user and per-group, so that you can set up simple configurations and manage them easily.

When you create new users, the /etc/skel directory will be copied to create their home directory.  You can omit this step and/or delete the files from their home directory, which is the more direct solution.

Please note that GuildFTPd, if it's the same software I recall, was not designed for these purposes specifically.  If you need features such as ratios, then you will want to look to other Unix-based FTP daemons that GuildFTPd was based upon.

NcFTPd is also an excellent choice, but may not provide the flexibility you want.  It is, however, extremely robust and secure.  ProFTPd would be my recommendation based on it's strong configurability and broad support.
0
 
LVL 48

Expert Comment

by:Tintin
ID: 13838546
I'll put my hand up and second PureFTP.  It's well written, clean, secure and very flexible.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 

Author Comment

by:remestre
ID: 13838904
Following some of your suggestions, I've looked at Pure-FTPd, but it looks to me like I can't or shouldn't install it in my Red Hat Enterprise Linux ES v3 server.  Would it work OK there, and if so, which file do I download (and from where) and if it is not an "rpm" package, how do I install it?

I also looked at PureAdmin and it is attractive for a newbie like myself as a graphical utility to manage the settings and properties of Pure-FTPd, as well as to be able to monitor uploads and other user activity while it is happening.  I have Webmin installed for similar reasons.  Would one be better suited than the other for someone like me?
0
 
LVL 7

Expert Comment

by:macker-
ID: 13839019
Software can be installed on RedHat ES, even if it's not available in an RPM package... it just wont benefit from the RPM package system.  Specifically:

RPM will not be aware of the files and any conflicts when installing RPM packages.  This probably wont be an issue for PureFTPd, so long as you don't try to install something else that would try to write to the same file paths.

RPM will not be aware that PureFTPd is installed, in the case that another package is being installed which requires a compatible FTP server.

These are fairly minor issues.  If an RPM is available, it will be easier, but is certainly not required.  If PureFTPd is your choice, then I will leave this one to others who are more familiar with it.  As far as compatability goes, RedHat has heavily used ProFTPd in the past, but has recently moved towards vsftpd.
0
 
LVL 48

Expert Comment

by:Tintin
ID: 13839035
0
 

Author Comment

by:remestre
ID: 13839258
I went to the link above for Redhat RPM's, and I'm sorry to say, can't figure out which is the right one for my Red Hat Enterprise Linux running on the PowerEdge server (Xeon processor).  Can you help?  Also, should I consider getting a "sourceball" file and extracting instead?
0
 
LVL 48

Expert Comment

by:Tintin
ID: 13839408
You need the i686 version.

However, do note that the binary versions are slightly behind the current release, so you may well be better off compiling from source.  This is as easy as doing:

./configure
make
make install

Assuming you have a compiler on your server.
0
 

Author Comment

by:remestre
ID: 13839450
Thank you for your responses.  Reading up on the documentation for Pure-ftpd at http://www.pureftpd.org/README, I think I'd like to go ahead and compile from source, using the "with-everything" switch argument, but I can't figure out the correct syntax.  Can you help?

Also, not sure if I have a compiler on this Red Hat Enterprise Linux ES v3 server.  How do I find out?
0
 

Author Comment

by:remestre
ID: 13839463
Also, if I'm compiling, exactly which file do I need to download for the Red Hat Enterprise Linux EX v3 server?
0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 1000 total points
ID: 13839518
You can tell if you have a C compiler by doing

gcc -v

or

rpm -q gcc

The file you want to download is

ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.20.tar.gz

Copy this file to somewhere on your server (say /var/tmp) and do:

tar zxvf pure-ftpd-1.0.20.tar.gz
cd pure-ftpd-1.0.20
./configure --with-everything
make
make install-strip

0
 

Author Comment

by:remestre
ID: 13839584
I feel ridiculous asking, but when I click on Run Program, and then type either one of the two commands above to find out if I have the compiler, a window flashes on the desktop for a split second, too fast to see what it says.  I apologize for my complete lack of knowledge of Linux.
0
 
LVL 48

Expert Comment

by:Tintin
ID: 13839849
Open a terminal window and type in the commands.
0
 

Author Comment

by:remestre
ID: 13842397
I'm now more embarrased, I'm also burned out and not thinking straight.  I should have realized that "Terminal" in Linux was the equivalent to opening a Command Prompt window in Windows in order to be able to type in a command.  I was in the wrong place.

I opened a terminal window, and this is what I get:

After entering "gcc -v", I get "bash: gcc: command not found"

After entering "rpm -q gcc", I get "package gcc is not installed"

What do I need in order to install a compiler?
0
 

Author Comment

by:remestre
ID: 13842528
I looked in the Documentation of our Red Hat Enterprise Linux SE v3 server, and found something called the "GNU Compiler Collection (GCC)".  Is this the C compiler you are refering to?
0
 
LVL 9

Expert Comment

by:fixnix
ID: 13843036
Yes.  And don't be embarrased...none of us were born w/ inherited 'nix knowledge.  Personally, I'm usually glad to see people willing to move forward and transition services they previously ran in doze over to a 'nix platform at their offices :).  Welcome to the "everything is a file" world....as with most anything, you'll find it makes more sense as time goes on.
0
 

Author Comment

by:remestre
ID: 13843594
Thanks for the encourament, I needed that.  Feel totally incompetent starting to work in Linux, although I love the potential of the operating system power and stability!  Just bought "Red Hat Linux Bible" by Christopher Negus.  It's a lot of material, and I'm having a little trouble with the new concepts.  So different from Windows!!!

I still need help with the installation of Pure-FTPd, wonder if I should just find an older RPM version for our Red Hat Enterprise Linux ES v3 and install that, or get the latest version in the tar format and learn how to compile it.  Perhaps I should just stay with the already installed version of vsFTPd that came with the system, but I was attracted to Pure-FTPd by the thought of using the PureAdmin graphical tool to administer it.  The third-party vsFTPd module I installed in Webmin is poor, doesn't do much.

I am also confused by the different RPM file types, and what they are for, such as .i386.rpm, .i486.rpm, .i586.rpm, and .i686.rpm.
0
 
LVL 9

Expert Comment

by:fixnix
ID: 13843976
basically, i386 binaries will run on 386's and above...they don't use 486-specific instructions, but since 486's are backwards-compatible with 386's, a i386 rpm will run on a 486.

Same goes on up the ladder.  i686 rpms will have optimizations that use pentium-specific instructions, and therefore won't run on a 486 or below.  Basically on modern hardware always grab the i686 binaries.  

The "i" is for intel.  You'll see other binary rpm's for different platforms like 32 and 64 bit sun processors, ia64 for 64 bit itanium, others for power-pc, alpha, palm-pilot, and other cpu architectures including some embedded chips used in anything from industrial robotics do wristwatches.

srpms are for source, and again, sometimes there are different sources for different platforms since often a source has to be "ported" to work on another platform...not so much from 386 to 486 or for simple "hello world" programs, but many need to be changed to compile on a Sun shell at your ISP instead of on your home x86 box.

As for the FTPd, the easiest would be to either learn to configure the one already installed, or to uninstall it and grab the most current binary you can find for Pure.  "Best" (from a 'being sure you're current' standpoint) thing to do would be to use the FTPd you think best fits your needs, and compile from source.  Sometimes it isn't practical to do the "best" thing, and if you compiled everything from source you'd probably have a tougher time with security updates....although you'd know your system a heck of a lot better.  Taking one program tho and compiling it from source isn't exactly hard to keep up with...if you have the time to try it out, you'll learn more installing from source (and have more control over your compile-time options.....the available binary rpm may not have been compiled with the "--with-everything" flag).  I usually stick with the most current binaries I can get using the same package manager (RPM in your case, apt-get on Debian systems, etc) simply for ease of keeping things close to updated with minimal administration time....I may not be running from the source that was just released an hour ago, but I don't have to remember every source package I've installed and dig through email notifications of what's been updated when...sending me to patch and recompile.  A friend of mine absolutely refuses to install any binaries he didn't compile himself.  It's largely personal preference based on your time, skills, level of paranoia, practicality, and availability.  No blanket "right" way for every system in every environment.
0

Featured Post

Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension (http://www.experts-exchange.com/discussions/210281/Attachments-with-no-extension.html). This reminded me of questions tha…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
Suggested Courses
Course of the Month19 days, 20 hours left to enroll

873 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question