pureftp 适合企业用啊

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

接近半夜了还为公司搭建FTP,虽然有点繁忙但是感觉很高兴,因为把linux当做了一种生活的乐趣,越玩越有意思,玩linux有几个月,刚用proftp 有点麻烦 搭建了感觉效果不喜欢就又该成了pureftp,在这里献丑了。

_________________________________________________________________________________________________

安装pure-ftp

#tar -zxvf pure-ftpd-1.0.22.tar.gz -C 解压到习惯的目录

#cd /usr/local/src/pure-ftpd-1.0.22
# ./configure  --prefix=/usr/local/pureftpd --with-ftpwho  --with-throttling  --with-puredb --with-language=simplified-chinese
注:记得加上--with-puredb 虚拟用户必+。 

# make && make install
# cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/

#mkdir -p /usr/local/pureftpd/etc/
# cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
# cd /usr/local/pureftpd/sbin/
# chmod 755 pure-config.pl
# cp  /usr/local/src/pure-ftpd-1.0.22/contrib/redhat.init /etc/init.d/pureftpd
#chmod 755 /etc/init.d/pureftpd
#chown root:root /etc/init.d/pureftpd
#chkconfig --add pureftpd

chkconfig pureftpd on

# vi pure-ftpd.conf
修改
   #PureDB                        /etc/pureftpd.pdb
    PureDB                        /usr/local/pureftpd/etc/pureftpd.pdb

修改端口的话# Bind                      127.0.0.1,21

          Bind                     服务器IP地址,2100

 

 

这样你 service pureftpd start 脚本肯定报错 。。

 

启动脚本的变量你需要手动修改下:

 

 



根据报错修改变量位置即可。。。。。

正常的启动方式 /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
 

1、建立一个ftp用户与组:
# groupadd ftpgroup
# useradd -g ftpgroup -M -s /etc ftpuser
2、添加虚拟用户
# pure-pw useradd ftpu -u ftpuser -g ftpgroup -d /usr/local/testRoot -m
说明:ftpu是用户名,-u ftpuser是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D
如果需要不同的权限,可以建立新的linux用户与组
3、建立用户数据库:
# pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb
说明:今后每添加或修改用户数据库都应该执行一次mkdb.

 

变量自己导出下:echo PATH=$PATH:/usr/local/pureftpd/bin/ >>/etc/profile

pure-pw show xywymb                                  查看xywymb这个用户的详细信息
pure-pw list                                        是看用户列表的
pure-pw passwd xywymb -m                            修改xywymb的密码
pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb   虚拟用户数据库。
 pure-pw show xywymb                                 查看用户
pure-pw usermod                                     如果要修改就用

改了什么都要执行一下
pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb

 

 下面做、用户操作日志记录:

Pure-ftpd日志记录设置过程

………………………………………………………………………………………
日志文件由系统日志和内核日志监控程序syslogd 与klogd 控制, 在/etc/syslog.conf 文件中配置这两个监控程序默认活动。 
………………………………………………………………………………………

touch /var/log/pureftpd.log   为ftp建立一个文件,把message里的ftp日志分离出来

vim /etc/syslog.conf

*.info;mail.none;authpriv.none;cron.none;ftp.none   /var/log/message

ftp.*          -/var/log/pureftpd.log      …………………………………………………………………………………… 
#cron.none;后边添加ftp.none
#在最后一行添加ftp* -/var/log/pureftpd.log 
注:不要去掉/var/前面的-,否则日志会在/var/log/message与/var/log/pureftpd.log里各记录一份,添加-,只会记录在/var/log/pureftpd.log内
……………………………………………………………………………………
service syslog restart  重新启动使其生效
重新重启pureftpd服务


现在设置完毕,客户端登陆ftp试下,日志会记录到/var/log/pureftpd.log     

pureftp的一些常见问题:

1.默认安装时允许匿名用户和系统非root用户登录
系统认证方式有
LDAPConfigFile  MySQLConfigFile PGSQLConfigFile PureDB ExtAuth PAMAuthentication UnixAuthentication等。

启用其中一个认证时,就只能使用该认证了。原有系统用户就无法登陆了,但如果允许匿名用户登录,匿名的是可以登录的。

2.上传下载速度的限制不是很准确,浮动较大,比vsftp要差一些。

3.磁盘配额不是实时的。

4.常见错误
./pure-config.py pure-ftpd.conf
Running: ['/usr/local/pureftpd/sbin/pure-ftpd', '-A', '-c', '50', '-B', '-C', '8', '-D', '-f', 'ftp', '-H',

'-I', '15', '-l', 'puredb:/usr/local/pureftpd/etc/pureftpd.pdb', '-L', '10000:8', '-m', '4', '-s', '-U',

'133:022', '-u', '100', '-k', '99', '-Z']
421 Unknown authentication method: puredb:/usr/local/pureftpd/etc/pureftpd.pdb
或者是:421 Unknown authentication method:  mysql :/usr/local/etc/pureftpd-mysql.conf

这是由于在编译时没有加入相关选项造成的。
重新编译
./configure –prefix=/usr/local/pureftpd/ –with-puredb
实践证明–with-everything并不一定会把所有东西加进去的。

5.pureftp的编码问题

pureftp支持RFC2640,可以有效解决Windows和Linux下的编码问题

使用方法:
重新编译加入RFC2640支持
./configure –prefix=/usr/local/pureftpd/ –with-puredb –with-everything –with-rfc2640

vi pure-ftpd.conf
ClientCharset           gb2312

重新启动服务器即可,常见的IE浏览器,FlashFXP可以正常使用GB2312,utf-8编码。
而Linux系统自带的ftp和Windows系统自带的ftp客户端,仍然存在乱码现象。

6.关于pureftp的被动模式

服务器默认开启主动模式和被动模式,由客户端选择。

服务器可以设置被动模式端口范围,主要是为了防火墙的设置。
PassivePortRange      50001 50006
注意此处千万不可写成50001:50006 ,否则配置文件脚本无法读取,中间是空格。

我们做了几个实验:
PassivePortRange  设置成如下值,客户端登陆提示如下:

PassivePortRange 50001 50006  登录时显示You are user number 1 of 3 allowed.
PassivePortRange 50001 50004  登录时显示You are user number 1 of 2 allowed
PassivePortRange 50001 50003  登录时显示You are user number 1 of 1 allowed

这恰好印证了官方文档中的说明:
So, open some ports TO the FTP server. These ports should be > 1023. It’s
recommended to use at least twice the max number of clients you are
expecting. So, if you accept 200 concurrent sessions, opening ports 50000 to
50400 is ok.

每个连接至少需要两个端口。

另外官方文档说,端口范围开放的越大,越安全。
Unlike some popular belief, the MORE opened ports you have for passive FTP,
the MORE your FTP server will be secure, because the LESS you are vulnerable
to data hijacking.


本文转自 houzaicunsky 51CTO博客,原文链接:http://blog.51cto.com/hzcsky/475625


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
关系型数据库 MySQL PHP
unbuntu搭建LAMP(Apache2+PHP+MySQL+phpmyadmin)
unbuntu搭建LAMP(Apache2+PHP+MySQL+phpmyadmin)
|
关系型数据库 MySQL 数据库连接
利用LAMP+PbootCMS快速搭建公司门户网站
根据云起冬季实战营第一期:从零到一上手玩转云服务器。总结一篇快速搭建公司门户网站的笔记。
1084 1
利用LAMP+PbootCMS快速搭建公司门户网站
|
开发工具 数据安全/隐私保护
VSFTP 基础
简单高效
930 0
|
网络协议 安全 网络安全
|
安全 数据安全/隐私保护 开发者
|
关系型数据库 MySQL Apache