Ubuntu下安装pure-ftpd(附带虚拟用户)解决530错误


今天在Ubuntu下安装pureftp,想使用Viretual User的方式进行认证登陆,结果一直返回530错误:530 Login authentication failed。在网上找了很多处理方法,结果都大同小异,大多数都是说Minuid的问题,结果我发现根本不是Uid的问题,实在不行就跟同事跑到官方网站上搜。经过一系列测试,终于找出问题所在。接下来就把自己的安装流程贴出来,希望对大家有所帮助。 首先是常规的Ubuntu装包的流程: apt-get install pure-ftpd groupadd ftpgroup useradd ftpuser -g ftpgroup -s /bin/false -d /dev/null (以上的ftpuser和ftpgroup可以为任意用户名) -s /bin/false 是指定不能以shell方式登陆 -d /dev/null 是指定家目录(为null就为空) 用户和组准备好了,接下来就开始创建虚拟用户 pure-pw useradd ftptest -u ftpuser -d /path/to/ftpdir ftptest是虚拟用户,这个用户的ftpdir属主必须是ftpuser,否则会没有权限 虚拟用户生成的passwd文件在/etc/pure-ftpd/pureftpd.passwd pure-pw mkdb 执行完创建虚拟用户的操作后要执行一句mkdb生成虚拟用户数据库,这样用户才有效 生成的文件在 “/etc/pure-ftpd/pureftpd.pdb” 这里完了以后大家可能以为就可以登陆了,然后兴致冲冲地开启ftp客户端输入账号和密码,发现返回530错误,上网一搜发现处理的方法大都解决不了以上问题,我相信大多数人可能跟我有同样的问题。 解决方法:在/etc/pure-ftpd/auth下,创建一个软链接ln -s /etc/pure-ftpd/conf/PureDB 60puredb 大功告成,接下来重启pureftpd会发现参数变成如下,即可用虚拟用户登陆了 Restarting ftp server: Running: /usr/sbin/pure-ftpd -l puredb:/etc/pure-ftpd/pureftpd.pdb -O [...]