Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm planning a server application that will handle files uploaded via FTP. The application must parse text documents that it receives and write them to a database (most likely a document-oriented database like Mongo). And the application must also relay all large binary files it receives to Amazon S3 for storage and hosting. I'd like to manage all aspects of the FTP server programmatically. For example, when a user registers via a web page the application should be able to create the user account in the database and provision a directory on the server for receiving files. I'm using a Linux server but am otherwise open to considering any programming language or framework. I experimented with VSFTPD but didn't like the way the application relies on config files and the creation of users and directories via the command line. Can someone please recommend what server framework I should consider? I'm a little biased toward solutions that leverage Javascript/Nodejs or Python. However, I'm open to anything that can run on a Linux box.

share|improve this question
up vote 2 down vote accepted

PAM will let you put the userdb anywhere you like.

share|improve this answer
It sounds like PAM is the way to go. Can you suggest some resources for getting started with integrating PAM into an app? I've googled the topic but am not finding any tutorials geared to those looking into PAM for the first time. – hughesdan Jun 4 '12 at 10:49
Many apps already use PAM, including VSFTPD. It's simply a matter of telling it to use PAM, and then configuring the PAM stack appropriately. – Ignacio Vazquez-Abrams Jun 4 '12 at 17:11

Pure-FTPd should do what you're looking for.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.