FTP virtual users with different home directories
I'm a newbie. I had Red Hat Linux 8 before, now I have 9.
What's driving me nuts is I would just like to set up virtual users on a FTP server on my computer. Also, I would like those virtual users to have different home directories, and I don't want to have to create system accounts to do that.
I read that vsftpd and ProFTPd supports virtual users, but you can't specify different settings for each of them.
Pure-FTPd can, but I was never, never able to enable its virtual users feature, and that server is driving me nuts. I followed all the steps written in their documentation for setting up virtual users, including the command 'pure-db mkdb', and I always get "Authentication Failed" when I try the server with the virtual username. I tried other methods for weeks and I posted in their forum and they don't have a clue what's going on!
Is there anyone who has any ideas? Maybe different deamon? Different login script? I dunno.
Thanks in advance!
I use PureFTPd myself. I remember I had problems at the beginning, but after you know how to set up an account, it's really easy. Here's set of commands I use to add another user:
pure-pw useradd someone -u ftpuser -d /home/ftpusers/someone
Where ftpuser is an ID (with no shell), /home/ftpusers is my FTP directory.
Are you on the Red Hat distro as well?
I tried those commands, as documented, to add users. Yet, when I test my server and I login using the username I just made, it doesn't work. I just don't get it!
Now I'm trying pure-ftpd again. It's now giving me the following error msg:
421 Unable to read the indexed puredb file (or old format detected) - Try pure-pw mkdb
No control connection for command: No such file or directory
I tried deleting /etc/pureftpd.pdb and redoing it using 'pure-pw mkdb' ... but it's doing the same thing again when I test my server.
Do you have it from RPM or you compiled it yourself? If you did it yourself, do you remember which configure options you used?
Look if you have /etc/pureftpd.passwd. Add an entry 'pure-pw useradd...', but without mkdb and see if the new entry is added.
If all of this doesn't work consider trying vsftpd. It supports virtual users 100% ... I'm using it :-)
vsftp allows me to do virtual users, but doesn't allow me to do seperate directories for each of them, and that's my problem.
And I did install Pure-FTPd from the RPM; I didn't compiled it myself.
GREAT!!! Nevermind! IT'S WORKING NOW!!! :D
I just rebooted and it solved the second problem.
Thanks to all of you!!!
VSftpd Virtual users
Hello people, could somebody teach me how to add virtual users to VSftpd or ProFtpd ?
Virtual users as in they have their own login/password, and will be directed to their personal home directory and jailed there.
They will not be reflected in /etc/passwd
The examples in the ftp://vsftpd.beast.org only shows how to add virtual users all to one directory, so please help and guide me. Thanks.
I'm using Redhat 9.0.
remi has said that VSftpd and ProFtpd supports virtual users, but doesn't allow seperate directories for each of them. So if you want unique directories for each user, use Pure-FTPD instead.
If thats the case, how does Cpanel/Directadmin does it ? I believe they use proFTPd. Please give opinions thanks.
Btw, thanx for replying.
Re: VSftpd Virtual users
--home Home directory for the user (required).
Thanks for the information. However, i've tried using proFTPD and the ftpasswd file, but still cannot seem to get it to work.
When compiling proftpd, must i specify an extra parameter or how else should I utilise ftpasswd file ?
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "Xoluxion Network FTP Server daemon"
# Port 21 is the standard FTP port.
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
# Set the user and group under which the server will run.
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
# Normally, we want files to be overwriteable.
ftpasswd user parameter:
[root@nexus proftpd]# ./ftpasswd --passwd --name=chyenw --uid=3001 --home=/home/staff/genexis/.vusers/chyenw --shell=/bin/ftponly
ftpasswd: --passwd: missing --gid argument: default gid set to uid
ftpasswd: updating passwd entry for user chyenw
ftpasswd: entry updated
Please help, thanks in advance.
You need to tell Proftpd to use that ftpasswd file, add this to your proftpd.conf:
or whatever you put your ftpd.passwd file
I have the same problem as remi had. Can you tell me if it's supported to allow system and virtual users to use the FTP service at the same time? Or do i need to choose if only system or virtual users are FTP users?
My current configuration is set up to support both but at the moment only system users are getting through.
Also in one forum article (it was for Ubuntu but may still be relevant, is it not?) Eeqmcsq says that it's necessary to create soft link to tell pure-ftp to include virtual user authentication:
|All times are GMT -5. The time now is 05:42 AM.|