Fog Creek Software
Discussion Board

Administering Many FTP Accounts Remotely?

Here is the situation.

My client has the need to administer many FTP accounts, one created for each of the clients' users with its own private login.
I estimate that we will eventually want to administer several thousand such accounts. Each account will be lightly used; not many logins per day or even total by the remote user, and the file space used per account will be on the order of 5 megabytes or less, probably a lot less.

I am steering the client toward a commercial web hosting account hosted by an outside company. The client doesn't really have the internal expertise to run their own server.

1) I would like to understand how my client, which is a Windows shop, can administer the creation of many FTP accounts remotely, in a painless way, without having to learn Windows or Linux server administration.

Ideally, I'd like the client to have a point and click GUI that displays all the FTP accounts along with private user name and password, and allows them to view the last login by the user, and the file space used.

Creation of FTP accounts on a Windows host is a point and click operation, isn't it? And on a Linux host it's a command line command such as 'useradd'. I don't quite see how either could be administered remotely.

My thought is that I'm going to have to bite the bullet and write a Windows based client program that gives them a database view of the FTP account space and allows them to administer it remotely.

2) My client will have a system running on their site that connects at intervals to the remote FTP host and uploads new data being sent to its customers, and downloads data coming in from customers.  If we have many private FTP accounts, we need a way to identify which accounts (directories) have gotten new files uploaded since the last time we checked. It will be impractical to scan several thousand directories. I am thinking that downloading and parsing the FTP log on the server would be the solution to this.
Thanks for any help. (one thing - PLEASE don't debate the initial assumptions, such as suggesting that we have one public FTP account for mass use, or that the client run the server in - house. I have selected these features because I know the client's environment and preferences.)

Bored Bystander
Wednesday, February 26, 2003

Number 1)
You can do it with HTML and some weblanguage. Check the registry for the database is necessary.

Number 2)
Check directory size or last modified date instead of downloading a logfile and parsing it.

Wednesday, February 26, 2003

You need MagicalFTP Maintainer 2003xp
available from VaporWare

People admin Linux and Windows remotely all the time, takes more knowledge than a desktop "power user" though.  You will likely have to build a custom app.  Web app preferably.

Wednesday, February 26, 2003

Creating a new login (and FTP acct) can be done on the cmdline.  So just make a simple webpage interface to do the C.R.U.D..  Maybe even allow upload of a file, to batch create lots of new accts.    This is a 1/2 day project.

Wednesday, February 26, 2003

Lots of web hosting companies use 'control panels', I guess ensim and (cpanel?) are two big players. You can get a 'reseller' account yourself with a shared web hosting company, then sell an account off to your client.

If you have thousands of users, however, administering anything by hand is going to be a nightmare. Why use FTP?

Here's a demo of administering users:

Thursday, February 27, 2003

"Creation of FTP accounts on a Windows host is a point and click operation, isn't it? "
Contrary to popular belief almost anything can be done programmatically on Windows (especially after W2K).
I'd say that the widespread acceptance of COM automation and the WSH even gives Windows a more capable commandline than Unix STDIO model systems.

Just me (Sir to you)
Thursday, February 27, 2003

WSH is pretty capable, the thing I like better about unix scritping is that as I use a shell, I am automatically learning how to write shell scripts.  With WSH, I have to use this.dothat.onfile type crap.

It works, it is just easier on *nix.

Thursday, February 27, 2003

*  Recent Topics

*  Fog Creek Home