11

I'm looking for an FTP server application for my headless server, which is a public virtual machine with a public ip address. . I've narrowed it down to 3, at least from what I've read are the most adept.

  • vsftpd
  • proftpd
  • pure-ftp

I've been researching all 3 but my primary concern is that I need one account that can upload but not see the contents of the folder/directories once it is logged in.

We had been using filezilla server on a Windows server but we've had to move to Ubuntu. I've not installed any of these applications before and I was wondering if any of them support this on Ubuntu. If they do, how would I go about setting that up?

5 Answers 5

6
+50

I'm using vsftpd on an internal server, so I can only answer for that one…

vsftpd has basically two parameters to control the directory listing in its /etc/vsftpd.conf

dirlist_enable
    If set to NO, all directory list commands will give permission denied.

    Default: YES

dirmessage_enable
    If enabled, users of the FTP server can be shown messages when they 
    first enter a new directory. By default, a directory is scanned for
    the file .message, but that may be overridden with the configuration 
    setting message_file.

    Default: NO (but the sample config file enables it) 

download_enable
    If set to NO, all download requests will give permission denied.

    Default: YES 

So in your case, you should definitely add:

dirlist_enable=NO

as a minimum and depending on your use-case, also disable downloads and dirmessages. (and that's why I added the download_enable parameter, which doesn't really control any directory listings)

Source: man vsftpd.conf

Having said all that, on a public server, I wouldn't allow standard ftp to run any more, but would use something like sftp.

2
  • ty I'll give this a shot!
    – ErocM
    Aug 1, 2015 at 22:45
  • If you definitely need ftp to run on an external server, vsftpd is your best choice (and that's why I use that one on the internal server: you never know when the use-case changes.) ;-) It helps to do a man vsftpd.conf while you're configuring it for the first time...
    – Fabby
    Aug 2, 2015 at 9:12
6

If you have setup OpenSSH on this machine, you have built-in sftp for all user accounts. Most modern ftp clients have builtin support for sftp. It is also much more secure than regular ftp and the overhead tax for using encryption is minimal. In fact, over my local network, sftp is faster than ftp. Give it a shot, it operates on the same port as ssh and even works while using ssh-key login.

Give it a shot, you also save yourself the resources of running another process altogether.

1
  • 2
    +1 the only reason to use FTP ever is for legacy reasons, i.e. you're expecting clients that cannot handle SFTP.
    – pzkpfw
    Aug 6, 2015 at 6:49
1

ProFTPD has nice features and actually is a great choice. It has native FTP over SSH support which is fantastic if you want encryption.

All the documents can be found here

It also has nice features to analyse logs and messages via The Webalizer and ftpweblog scripts

0

I used to have VsFTPd on my server but I had to move to ProFTPd because our designer on windows had frequent interruptions while uploading and all (he was using notepad++ and its built-in FTP client). Now I hear no complaints. As for the listing, you can find more details here.

0

proftpd:

apt-get install proftpd

then choose: proftpd (servermode)

nano /etc/proftpd/proftpd.conf
--> ipv6 should be off
--> default root (should be inlined)(no #)
--> Require Valid Shell off (should be inlined) (no #)

nano /etc/proftpd/modules.conf
--> LoadModule mod_tls_memcache.c should be outlined (with #)
service proftpd restart

Now you have to add some users with adduser and set their default homedir to your chosen ftp-path (var/ftp) and their default-loginshell to /bin/false in /etc/passwd One example:

beeberst:x:1164:33::/var/www/beeberst:/bin/false

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .