(1) 首先在源码安装目录复制ftpasswd文件
# cd /srv/proftpd-1.3.2/contrib(源码目录)
# cp ftpasswd /usr/local/proftpd/bin/
# chmod +x /usr/local/proftpd/bin/*
# cd /usr/local/proftpd
# mkdir virtual_user_home
(2) 创建虚拟用户和组
#/usr/local/proftpd/bin/ftpasswd --passwd --name=caiwu --uid=2000 --home=/usr/local/proftpd/virtual_user_home/caiwu --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=renshi --uid=2001 --home=/usr/local/proftpd/virtual_user_home/renshi --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=yunying --uid=2002 --home=/usr/local/proftpd/virtual_user_home/yunying --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=admin --uid=2003 --home=/usr/local/proftpd/virtual_user_home/admin --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=caiwu --uid=2001 --home=/usr/local/proftpd/virtual_user_home/caiwu --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=caiwu --uid=2001 --home=/usr/local/proftpd/virtual_user_home/caiwu --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=caiwu --uid=2001 --home=/usr/local/proftpd/virtual_user_home/caiwu --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=caiwu --uid=2001 --home=/usr/local/proftpd/virtual_user_home/caiwu --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --passwd --name=caiwu --uid=2001 --home=/usr/local/proftpd/virtual_user_home/caiwu --shell=/sbin/nologin --file=/usr/local/proftpd/etc/passwd
#/usr/local/proftpd/bin/ftpasswd --group --name=virtual --gid=3000 --member=99 --member=100 --file=/usr/local/proftpd/etc/group
建立一个名为caiwu的用户,默认目录为
/usr/local/proftpd/virtual_user_home/caiwu
各个参数的意义如下
–passwd指定建立一个新的虚拟用户,–group则建立一个虚拟组;
–file指定存储虚拟用户的文件;
–name指定此虚拟用户的用户名,密码会在命令执行时要求输入;
–uid指定此虚拟用户对应的系统用户UID,此虚拟用户将以此系统UID的身份读写文件;
–home指定此虚拟用户的根目录,就是其登陆FTP后的根目录;
–shell指定此虚拟用户的shell,为了安全当然指定一个不可登陆的shell了
(3) proftpd.conf的配置文件,添加几项:
#关闭pam认证只使用文件认证
PersistentPasswd off ~
#只启用虚拟用户的验证,不用/etc/passwd中的用户
AuthOrder mod_auth_file.c
#定义虚拟用户的信息保存的文件
AuthUserFile /usr/local/proftpd/etc/passwd
#定义虚拟用户组的信息保存的文件
AuthGroupFile /usr/local/proftpd/etc/group
#不检测虚拟用户是否有可使用的shell,因为在定义虚拟用户的时候,shell是s=/bin/false,所以一定要设置为off,不然虚拟用户无法登陆
RequireValidShell off
(4) 重启应用