On Tue, 2009-02-17 at 18:54 +0200, Thodoris wrote:
AFAIK in most distros the ftp servers come without mysql (or database)
authentication support. If this is what is happening in your case you
need to compile the ftp server from source adding a configuration time
option to enable the database support.
This is probably a bit stupid, but I've been having issues getting any
of the good FTP servers running on my Ubuntu 6.06 (LTS) box.
I've tried Pro-FTP, Pure-FTP, and briefly installed some others, but
the versions available for my distro don't seem to support MySQL (or
I'm simply doing something wrong).
Anyway, I had the thought that the FTP server won't be used much, as I
mainly use SSH, however I need to be able to give other people access,
which is why I'm wondering if there are any PHP scripts that can be
used AS an FTP server. That is, I'd setup Apache to accept on the
standard FTP port(s), and get it to point everything to a PHP script,
which I could then use to pull user/pass details each of which would
have their own directories, allowing each user to access a sym-link to
their domain(s) log file, website directory, and anything else.
In case you have ssh enabled you may use the sftp subsystem that openssh
supports if it fits your needs. It's more secure than plain ftp but you
still have to add local user accounts which is a bad idea imo.
You may use PHP to upload files using the http (and not the ftp)
protocol by making a project that authenticates the user provides him
the ability to upload, delete and download files using forms.
There has to be something already written that implements such a
procedure in case you don't want to code this by yourself. You may
google to find whatever fits your needs.
Has someone already got a script that does this (at least accepting
FTP connections), or is this a crazy idea that's just not possible?
Should I just compile the latest version of some FTP server, and try
and configure that to do what I want instead?
I suggest that since you need ftp access it would be much better if you
could configure an ftp server instead of writing something on your own.
The vsftp daemon is a good solution to your problem written including
advanced security features but I don't know if it supports mysql
authentication. On the other hand pro-ftpd does support modular
authentication (mysql, ldap etc) if you compile the proper module.
I used vsftp for several FTP systems at work, and bar a few problems
(errors on my part!) they work just fine. I've even got PHP talking to
various Bash scripts to manage users and permissions for the FTP, and,
touch wood, everything works well.
I wouldn't really agree that allowing local users to FTP in is a bad
idea. I'm using just that method for my systems. The users, etc are only
ever created through a web interface, which forces certain rules on
usernames, which as far as I see it, is the only problem. As long as the
vsftpd.conf file is configured correctly and securely, the whole thing
will remain pretty tight.
The local users part was about ssh-sftp access Ash not ftp.
IMO when you add local users you add extra risks to your system than
simple ftp (non-local) users may not cause. Of course if you secure your
system carefully everything will work fine but I would avoid that and
there are many security issues that here is not the place to discuss.
Of course if this fits your needs I have no objections.