FTP服务器之pure-ftpd常见问题及解决方法
时间:2016-04-01 21:36 来源:linux.it.net.cn 作者:IT
1. pureftp的认证方式
系统认证方式有LDAPConfigFile MySQLConfigFile PGSQLConfigFile PureDB ExtAuth PAMAuthentication UnixAuthentication等。启用其中一个认证时,就只能使用该认证了。如果同时启用两个,将会根据配置先后而失效;失效认证方式的原有用户就无法登陆了,但如果允许匿名用户登录,匿名的是可以登录的。此外,发现pureDB和MysqlConfig认证方式时可以共存的。
2. MysqlConfigFile认证
在搭建时,疏忽了Mysql数据的账户密码加密方式,在配置pure-mysql config时也没注意,一度导致Mysql创建的虚拟账户出现 530 Login authentication failed,登陆pureftp失败的情况。因此一定要确保两边的加密方式要统一,我上篇博客均采用md5加密。此外,在此还有可能mysql模块导致的530错误的原因是,没有给pureftp虚拟账户数据库用户授权,即没执行如:
1
2
mysql> grant all privileges on pureftpd.* to 'pureftpuser'@'%' identified by 'pureftpuser';
mysql> flush privileges;
在这里,我提醒大家出现错误先去vi /var/log/messages 看下ftp标签所报错误,对症下药。
3. pureftp的磁盘配额不是实时的;
4. pureftp的上传下载速度不是非常准备,这方面比vsftp要差些;
5. 开启pureftp时报421错误
比如:421 Unknown authentication method: puredb:/usr/local/pureftpd/etc/pureftpd.pdb
或者是:421 Unknown authentication method: mysql :/usr/local/etc/pureftpd-mysql.conf
这是由于在编译时未加入对应参数导致的,这也说明--with-everything并不是把所有的模块都加进去了。
6. pureftp的编码问题
pureftp支持RFC2640,可以有效解决Windows和Linux下的编码问题。在编译时加上--with-rfc2640,在配置档上加上
1
2
3
4
5
6
7
# UTF-8 support for file names (RFC 2640)
# Define charset of the server filesystem and optionnally the default charset
# for remote clients if they don't use UTF-8.
# Works only if pure-ftpd has been compiled with --with-rfc2640
FileSystemCharset UTF-8
ClientCharset gb2312
但不能完全解决乱码的问题,你可通过filezilla上的字符集自定义设定对应的字符来有效解决乱码问题。如下图
7. 防火墙问题
老生常谈的防火墙设置,一定要小心自己的PassivePortRange 50000 51000 端口开放段,还有pureftp默认是开启主动模式与被动模式的。
8. 530 Sorry, but I can’t trust you
这个是由于MinUID导致的,记得小于你设置值的UID用户是不允许登陆的;
1
2
3
4
# Minimum UID for an authenticated user to log in.
#最小UID限制
MinUID 100
9. 为什么ftp只能下载却不能上传
原因:你对应ftp账户的关联目录文件没有写权限。
1
chmod 777 yourftphomedirectory
好了,就记录这么多!
(责任编辑:IT)
1. pureftp的认证方式
系统认证方式有LDAPConfigFile MySQLConfigFile PGSQLConfigFile PureDB ExtAuth PAMAuthentication UnixAuthentication等。启用其中一个认证时,就只能使用该认证了。如果同时启用两个,将会根据配置先后而失效;失效认证方式的原有用户就无法登陆了,但如果允许匿名用户登录,匿名的是可以登录的。此外,发现pureDB和MysqlConfig认证方式时可以共存的。 2. MysqlConfigFile认证 在搭建时,疏忽了Mysql数据的账户密码加密方式,在配置pure-mysql config时也没注意,一度导致Mysql创建的虚拟账户出现 530 Login authentication failed,登陆pureftp失败的情况。因此一定要确保两边的加密方式要统一,我上篇博客均采用md5加密。此外,在此还有可能mysql模块导致的530错误的原因是,没有给pureftp虚拟账户数据库用户授权,即没执行如:
在这里,我提醒大家出现错误先去vi /var/log/messages 看下ftp标签所报错误,对症下药。 3. pureftp的磁盘配额不是实时的; 4. pureftp的上传下载速度不是非常准备,这方面比vsftp要差些; 5. 开启pureftp时报421错误
比如:421 Unknown authentication method: puredb:/usr/local/pureftpd/etc/pureftpd.pdb 6. pureftp的编码问题 pureftp支持RFC2640,可以有效解决Windows和Linux下的编码问题。在编译时加上--with-rfc2640,在配置档上加上
但不能完全解决乱码的问题,你可通过filezilla上的字符集自定义设定对应的字符来有效解决乱码问题。如下图 ![]() 7. 防火墙问题 老生常谈的防火墙设置,一定要小心自己的PassivePortRange 50000 51000 端口开放段,还有pureftp默认是开启主动模式与被动模式的。 8. 530 Sorry, but I can’t trust you 这个是由于MinUID导致的,记得小于你设置值的UID用户是不允许登陆的;
9. 为什么ftp只能下载却不能上传 原因:你对应ftp账户的关联目录文件没有写权限。
(责任编辑:IT) |