pure-ftp安装配置以及参数详解


环境:CENTOS 6.8_x64
地址:10.0.0.100

一:安装部署
wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.gz --no-check-certificate
tar zvfx pure-ftpd-1.0.42.tar.gz
cd pure-ftpd-1.0.42
./configure --prefix=/usr/local/pureftpd \
--with-everything
make
make install
cd ..

cd pure-ftpd-1.0.42
cd configuration-file
chmod 755 pure-config.pl
cp pure-config.pl /usr/local/pureftpd/bin
mkdir -p /usr/local/pureftpd/etc
cp pure-ftpd.conf /usr/local/pureftpd/etc

二:新建用户
groupadd develop
useradd -g develop -s /sbin/nologin www

vi /usr/local/pureftpd/etc/pure-ftpd.conf
###########################################################
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
LimitRecursion 10000 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
PassivePortRange 45000 50000

#根据实际情况修改
Bind 0.0.0.0,9494

Umask 133:022
MinUID 500
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
MaxDiskUsage 99
CustomerProof yes
#########################################################

创建FTP账户密码:
/usr/local/pureftpd/bin/pure-pw useradd jesse -u www -g develop -d /test/ -m
Password:
Enter it again:

解释:
pure-pw useradd 虚拟用户名
-u 寄生到系统用户名
-d FTP目录
-m 把用户密码加入PDB数据库中,不需要重启FTP

虚拟用户生成的passwd文件在安装目录的etc的pureftpd.passwd,其目录OPT也必须有UID 500用户读写权限,
然后建立pureDB文件/usr/local/pureftpd/bin/pure-pw show jesse

启动ftp
/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

验证启动
netstat -lntup|grep pure-ftpd

接下来我们做访问测试
IP:10.0.0.100
账户:jesse
密码:123456
端口:9494

chown -R www:develop /test
访问测试OK!

相关参数详解

/usr/local/pureftpd/bin/pure-pw useradd jesse -u 500 -g 500 -d /test/ -m
解释:-u将虚拟用户jesse同系统用户ftp关联在一起.-d参数使jesse只能访问其home目录.
而如果想让他访问整个文件系统,可以用 -D 选项.

其他选项:
-t 下载带宽限制
-T 上传带宽限制
-n 最大文件数目
-N 磁盘配额(单位M)
-q 上传速度限制
-Q 下载速度限制
-r 允许某些ip/网段的客户端访问
-R 拒绝某些ip/网段的客户端访问
-i 允许本地某些ip/网段访问(allow local host)
-I 拒绝本地某些ip/网段访问(deny local host)
-y 同时最大连接数目
-z 允许连接服务器的时间段,格式hhmm-hhmm,如 -z 0412-1618代表用户只能在凌 晨4点12分至下午4点18分连接服务器
-f passwd_file
-F puredb_file
-m 不必重启Pure-FTPd以及重新生成puredb_file文件
如果进行帐户操作时,没有带-m 参数,那就应该手动更新一下pdb数据:
/usr/local/stow/pure-ftpd-1.0.21/bin/pure-pw mkdb pureftpd.pdb
pure-pw useradd 添加用户
pure-pw userdel 删除用户
pure-pw usermod 修改用户
pure-pw show 查看用户详细信息
pure-pw list 查看所有用户设置
pure-pw mkdb 生成数据文件

配置文件解释:
==========================================================================
ChrootEveryone yes                     #限制所有用户在其主目录中
BrokenClientsCompatibility no #兼容ie等比较非正规化的ftp客户端
MaxClientsNumber 50                #服务器总共允许同时连接的最大用户数
Daemonize yes                              #做为守护(doemon)进程运行(Fork in background)
MaxClientsPerIP 8                      #同一IP允许同时连接的用户数
VerboseLog no                             #如果你要记录所有的客户命令,设置这个指令为 "yes"
DisplayDotFiles yes                    #即使客户端没有发送 '-a' 选项也列出隐藏文件
AnonymousOnly no                   #不允许认证用户 - 仅作为一个公共的匿名FTP。
NoAnonymous yes                     #不允许匿名连接,仅允许认证用户使用。
SyslogFacility ftp                       #缺省的功能( facility )是 "ftp","none" 将禁止日志。
DontResolve yes                        #在日志文件中不解析主机名。
MaxIdleTime 15                         #客户端允许的最大的空闲时间(分钟,缺省15分钟)
PureDB /usr/local/pureftp/etc/pureftpd.pdb         #PureDB用户数据库
LimitRecursion 2000 8               #ls命令的递归限制 第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度.
AnonymousCanCreateDirs no   #允许匿名用户创建新目录?
MaxLoad 4                                     #如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。
AntiWarez yes                               #不接受所有者为 "ftp" 的文件的下载。
Bind 10.10.10.10,21                       #服务监听的IP 地址和端口。
Umask 133:022                              #新建目录及文件的属性掩码值。<文件掩码>;:<目录掩码>; .
MinUID 500                                   #认证用户允许登陆的最小组ID(UID) 。
AllowUserFXP yes                        #仅允许认证用户进行 FXP 传输。
AllowAnonymousFXP no            #对匿名用户和非匿名用户允许进行匿名 FXP 传输。
ProhibitDotFilesWrite no           #用户不能删除和写点文件(文件名以 '.' 开头的文件)
ProhibitDotFilesRead no            #禁止读点文件(文件名以 '.' 开头的文件) (.history, .ssh...)
AutoRename no                           #永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, ...
AnonymousCantUpload no       #不接受匿名用户上传新文件( no = 允许上传)
AltLog clf                                       #使用类似于Apache的格式创建一个额外的日志文件
MaxDiskUsage 99                       #来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。
CustomerProof yes
UnixAuthentication no              #不起用简单的 Unix系统 认证方式(/etc/passwd)。

=====================================================================
--prefix=/usr/local/pureftpd         #pureftpd安装目录
--with-everything                             #安装几乎所有的功能,包括altlog cookies throttling ratios ftpwho upload script
virtual users(puredb)quotas、virtual hosts、directory aliases、external authentication、                                                                 Bonjour
privilege separation                         #本次安装只使用这个选项。
--with-cookie                                     #当用户登录时显示指定的横幅
--with-diraliases                               #支持目录别名,用快捷方式代cd命令
--with-extauth                                  #编译支持扩展验证的模块,大多数用户不使用这个选项
--with-ftpwho                                   #支持pure-ftpwho命令,启用这个功能需要更多的额外内存
--with-language=english                #修改服务器语言,默认是英文,如果你要做修改,请翻译‘src/messages_en.h’文件
--with-ldap                                        #LADP目录支持,需要安装openldap
--with-minimal                                 #FTP最小安装,最基本的功能
--with-mysql                                     #MySQL支持,如果MySQL安装在自定义目录上,

你需要使用命令—with-mysql=/usr/local/mysq这类
--with-nonroot                                   #不需要root用户就可以启动服务

Posted in ftp

1 thought on “pure-ftp安装配置以及参数详解”

发表评论

电子邮件地址不会被公开。 必填项已用*标注