作者:爱旅游的星琴 | 来源:互联网 | 2014-05-28 09:12
(1)首先在源码安装目录复制ftpasswd文件#cd/srv/proftpd-1.3.2/contrib(源码目录)#cpftpasswd/usr/local/proftpd/bin/#chmod+x/usr/local/proftpd/bin/*#cd/usr/local/proftpd#mkdirvirtual_
(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
/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) 重启应用