最新消息:

Linux学习笔记之pureftp(一)

IT技术 ipcpu 2186浏览

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的系统用户登陆。

5.参考资料:
http://ftqq.com/2010/01/27/use-pure-ftpd-and-pure-ftpd-mysql-manage-quota/
http://www.crazylemon.net/ftp/96.html
http://www.crazylemon.net/linux/77.html
http://symfony.net.cn/?p=160
http://www.5dlinux.com/article/9/2008/linux_14371.html

转载请注明:IPCPU-网络之路 » Linux学习笔记之pureftp(一)