作者:live科_722 | 来源:互联网 | 2014-05-28 09:12
关键字:pureftppureftpd技术文档Linux服务器架设学习笔记proftpproftpdvsftpFTPServ-UXlight被动模式iptables端口范围Linux下的主流FTP服务器软件,基本上由pureftp、vsftp和proftp这三家平分了,与之相比Windows倒是有更多的选择,serv-
关键字:pureftp pureftpd 技术文档 Linux 服务器 架设 学习笔记 proftp proftpd vsftp
FTP Serv-U Xlight 被动模式 iptables 端口 范围
Linux下的主流FTP服务器软件,基本上由pureftp、vsftp和proftp这三家平分了,与之相比Windows倒是有更多的选择,serv-u、xlight、Gene6都是相当不错的。
由于Windows和Linux系统存在很大的差异,所以两个系统在FTP服务器设计上也大相径庭,Windows相对来说会比较简单,在一个界面上几乎可以控制所有的权限,Linux这时就略显复杂了。
今天我们来看pureftp的使用,其实proftp也基本差不多。至于vsftp资料就到处都是了,不介绍了。
1.pureftp的安装
官方网站 http://www.pureftpd.org/
tar xzvf pure-ftpd-1.0.21.tar.gz
cd pure-ftpd-1.0.21/
./configure ?prefix=/usr/local/pureftpd
?with-language=simplified-chinese ?with-everything
注:
?with-eyerything是安装所有功能
?with-language=simplified-chinese是采用中文作为提示语言(不推荐)
?prefix是安装的目标目录
?with-rfc2640 对客户端编码的自动适用
另外如果需要与mysql连接等还需要在此指定。(稍后介绍)
make && make install && echo OK
2.复制安装目录configuration-file/里的pure-ftpd.conf到/usr/local/pureftpd/etc
pureftpd的运行方式和别的Linux程序不太一样,所有的参数调整都是通过运行时的命令行来调整,但程序也提供了一个perl和
python脚本将配置文件转变成命令行参数。将此文件夹下pure-config.py一并拷贝过去。
3.基本参数的调整
a.日志参数
默认是关闭的,配置文件设置日志文件的格式和存放位置。可以是clf,stats和w3c格式。
# AltLog clf:/var/log/pureftpd.log
# AltLog stats:/var/log/pureftpd.log
# AltLog w3c:/var/log/pureftpd.log
b.ChrootEveryone 限制每一个虚拟用户在其目录下
c.认证方式,默认都没开(默认支持匿名用户【需要满足条件】和系统非root用户登陆)
# LDAP 配置文件 (参考 README.LDAP)
#
LDAPConfigFile
/etc/pureftpd-ldap.conf
# MySQL 配置文件 (参考 README.MySQL)
#
MySQLConfigFile
/etc/pureftpd-mysql.conf
# Postgres 配置文件 (参考 README.PGSQL)
#
PGSQLConfigFile
/etc/pureftpd-pgsql.conf
# PureDB 用户数据库 (参考 README.Virtual-Users)
#
PureDB
/etc/pureftpd.pdb
# pure-authd 的socket 路径(参考 README.Authentication-Modules)
#
ExtAuth
/var/run/ftpd.sock
# 如果你要启用 PAM 认证方式, 去掉下面行的注释。
#
PAMAuthentication
yes
# 如果你要启用 简单的 Unix系统 认证方式(/etc/passwd), 去掉下面行的注释。
#
UnixAuthentication
yes
# 请注意,LDAPConfigFile, MySQLConfigFile, PAMAuthentication 和
# UnixAuthentication 这些指令只能被使用一次,不过,他们能被混合在一起用。例如:如果你使用了
# MySQLConfigFile 和 UnixAuthentication,那么 SQL 服务器将被访问。如果因为用户名未找
# 到而使 SQL 认证失败的话,就会在/etc/passwd 和 /etc/shadow 中尝试另外一种认证,如果因
# 为密码错误而使 SQL 认证失败的话,认证就会在此结束了。认证方式由它们被给出来的顺序而被链
# 接了起来。
d.PID文件位置
#
PIDFile
/var/run/pure-ftpd.pid
e.每个IP允许的最大连接数
# Maximum number of sim clients with the same IP address
MaxClientsPerIP
8
f.被动模式选项
# Port range for passive connections replies. ? for
firewalling.
#
PassivePortRange
30000 50000
4.启动
[root@s0 etc]# ./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', '10000:8', '-m', '4', '-s', '-U', '133:022',
'-u', '100', '-k', '99', '-Z']
[root@s0 etc]# netstat -tunpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local
Address
Foreign
Address
State PID/Program name
tcp
0 0
0.0.0.0:21
0.0.0.0:*
LISTEN 7420/pure-ftpd (SER
tcp
0 0
0.0.0.0:22
0.0.0.0:*
LISTEN 1966/sshd
tcp
0 0
127.0.0.1:25
0.0.0.0:*
LISTEN 1995/sendmail: acce
此时若没有更改配置文件,仅支持匿名用户和非root的系统用户登陆。