okay first thing... keep in mind that if you're creating shell accounts for your users that they will also be able to login using ssh (if you're running sshd of course)
This I'd image IS NOT your prefered way of creating accounts anyway... if you want to know how to make JUST a proftp account for users here's how.
You can setup this up using
AuthGroupFile
AuthUserFile
they are settings for proftpd itself that will allow access to those only in a specified file rather than using shell accounts
personally, after seeing what others have done, I like to setup the group and user as nogroup/nobody (I'll explain how)
nogroup and nobody was setup by default in my distro (debian) so you don't see it in the files I'm going to explain below then you might have to do a little extra work in creatin$
first we'll deal with the group
in /etc open group
in the list scroll around till you see nogroup
it will look like this -> nogroup:x:NUMBER:
you need that NUMBER
(****Do the same thing if you want to see what the number
for a user, nobody, is just look in /etc/passwd)
now create a file with a name of your choice in /etc ..... something like proftpd.group (I'll use that for following examples)
so now inside proftpd.group add the following personal data in the following format
GROUPNAME:NUMBER:USERtoADD
(we'll make the user to add in a minute and the number is the nogroup number from before)
that's it's for group... so maybe you have something like this
ForPictures:69
iclogin
piclogin would be the user.... so lets set him up now
in /etc make another file... for example I'll use the name proftpd.passwd
I passwd file can look like this
piclogin
ass:UID:GID
iclogin:/var/ftp/piclogin:/sbin/nologin
so using the number from above:
piclogin:58h4QyPWmp1jQ:69:69
iclogin:/var/ftp/piclogin:/sbin/nologin
where /var/ftp/piclogin is the users HOME directory... it can be whatever you like.... you may have to edit the permissions for this directory depending on what you want to do.
So now we have to deal with the password cause you're probably asking yourself... .what's 58h4QyPWmp1jQ ???
it's the encrypted users password and you can generate it with the command htpasswd (this command is installed when you install apache ... there are others ways the generate the $
using htpasswd type the following
htpasswd -n -b USERNAME PASSWORD
so for 58h4QyPWmp1jQ I did
htpasswd -n -b piclogin pass
now you just have to tell proftpd to use
AuthGroupFile
AuthUserFile
your proftpd config file should be located at /etc/proftpd.conf
edit or add to your configuration the following lines
User nobody
Group nogroup
UseFtpUsers on
RequireValidShell off
AuthGroupFile /etc/proftpd.group
AuthUserFile /etc/proftpd.passwd
don't quote me on this but I think the line to add in order to jail someone to their home directory for proftpd is:
DefaultRoot ~ GROUPNAME
now start proftpd and you SHOULD be able to login using
user: piclogin
pass: pass
as long as everything went the way it was supposed to... so here's a recap
/etc/proftpd.group
ForPictures:69
iclogin
/etc/proftpd.passwd
piclogin:58h4QyPWmp1jQ:69:69
iclogin:/var/ftp/piclogin:/sbin/nologin
/etc/proftpd.conf
#Edit or add these lines
User nobody
Group nogroup
UseFtpUsers on
RequireValidShell off
AuthGroupFile /etc/proftpd.group
AuthUserFile /etc/proftpd.passwd
DefaultRoot ~ ForPictures
RESTART PROFTPD
cross fingers and attempt to login
IT IS POSSIBLE I MISSED SOMETHING so don't get discouraged if this doesn't work first shot... if it's not fully complete IT'S VERY CLOSE and anyone else readind this feel free ad$
ALSO you might want to try Webmin
it can help manage MANY things including proftpd settings