阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS7.2安装FTP(pure-ftpd-1.0.43)

133次阅读
没有评论

共计 6506 个字符,预计需要花费 17 分钟才能阅读完成。

一、下载最新安装包并解压

cd /usr/local/src

wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.43.tar.gz    
tar -vxf pure-ftpd-1.0.43.tar.gz    
cd pure-ftpd-1.0.43

二、准备环境

yum -y install gcc    #安装编译器    
yum -y install openssl  openssl-devel    #安装依赖文件

三、配置编译参数并安装

./configure \    
–prefix=/usr/local/pureftpd \  #安装目录    
–without-inetd \    
–with-altlog \    
–with-puredb \    
–with-throttling \    
–with-peruserlimits \    
–with-tls

make && make install

 

四、配置 pure-ftpd

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

vim /usr/local/pureftpd/etc/pure-ftpd.conf

 

修改如下两处存放目录:

PureDB /usr/local/pureftpd/etc/pureftpd.pdb

PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid

MinUID                      10           

 

pure-ftpd.conf 文件中配置参数说明:

ChrootEveryone                    yes        # 启用 chroot    
BrokenClientsCompatibility         yes        # 兼容不同客户端    
Daemonize                          yes        # 后台运行    
MaxClientsPerIP                     8          # 每个 ip 最大连接数    
VerboseLog                          yes        # 记录日志    
DisplayDotFiles                     no        # 显示隐藏文件    
AnonymousOnly                      no          # 只允许匿名用户访问    
NoAnonymous                        no          # 不允许匿名用户连接    
SyslogFacility                     none        # 不将日志在 syslog 日志中显示    
DontResolve                         yes        # 不进行客户端 DNS 解析    
MaxIdleTime                         15         # 最大空闲时间    
LimitRecursion                      2000 8     # 浏览限制,文件 2000,目录 8 层    
AnonymousCanCreateDirs              no         # 匿名用户可以创建目录    
MaxLoad                              4         # 超出负载后禁止下载    
PassivePortRange               45000 50000     # 被动模式端口范围    
#AnonymousRatio                  1 10          # 匿名用户上传 / 下载比率    
UserRatio                        1 10          # 所有用户上传 / 下载比率    
AntiWarez                        yes           # 禁止下载匿名用户上传但未经验证的文件    
#AnonymousBandwidth              200           # 匿名用户带宽限制(KB)
UserBandwidth                    8             # 所有用户最大带宽(KB)
Umask                            133:022       # 创建文件 / 目录默认掩码    
MinUID                           10            # 可以登陆 用户的最小 UID 限制    
AllowUserFXP                     no          # 仅运行用户进行 FXP 传输    
AllowAnonymousFXP                no          # 对匿名用户和非匿名用户允许进行匿名 FXP 传输 
ProhibitDotFilesWrite            no          # 不能删除 / 写入隐藏文件    
ProhibitDotFilesRead             no          # 禁止读取隐藏文件    
AutoRename                       yes         # 有同名文件时自动重新命名    
AnonymousCantUpload              yes        # 不允许匿名用户上传文件    
AltLog          clf:/var/log/pureftpd.log    # clf 格式日志文件位置    
PureDB          /usr/local/pure-ftpd/etc/pureftpd.pdb        # 用户数据库文件    
MaxDiskUsage                    99           # 当磁盘使用量打到 99% 时禁止上传    
CreateHomeDir                   yes          # 如果虚拟用户的目录不存在则自动创建    
CustomerProof                   yes          # 防止命令误操作

 

五、启动 pure-ftpd

[root@localhost configuration-file]# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf    
Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L10000:8 -m4 -s -U133:022 -u100 -g/usr/local/pureftp/var/run/pure-ftpd.pid -k99 –Z

如果是启动成功,会显示一行长长的以 Running 开头的信息,否则那就是错误信息。

 

六、建立账号

mkdir -p /data/ftp/

mkdir  /data/ftp2/

useradd ftp

chown -R ftp:ftp /data/ftp/

chown -R ftp:ftp /data/ftp2/

/usr/local/pureftpd/bin/pure-pw useradd ftp_user1 -uftp -d /data/ftp/

Password:    
Enter it again:

/usr/local/pureftpd/bin/pure-pw useradd ftp_user2 -uftp -d /data/ftp2/

Password:    
Enter it again:

上两行中,- u 将虚拟用户 ftp_user1 与系统用户 ftp 关联在一起,也就是说使用 ftp_user1 账号登陆 ftp 后,会以 ftp 的身份来读取文件或下载文件。-d 后边的目录为 ftp_user1 账户的家目录,这样可以使 ftp_user1 只能访问其家目录 /data/ftp/,ftp_user2 相同,到这里还未完成,还有最关键的一步,就是创建用户信息数据库文件:

/usr/local/pureftpd/bin/pure-pw mkdb

pure-pw 还可以列出当前的 ftp 账号,也可以删除某个账号:

/usr/local/pureftpd/bin/pure-pw list

/usr/local/pureftpd/bin/pure-pw userdel ftp_user2

 

七、安装 lftp 在客户端访问

yum install -y lftp

lftp ftp_user1@192.168.222.200

正常登陆后可以使用 help 命令查询可用命令:

lftp ftp_user1@192.168.222.200:~> help    
CentOS7.2 安装 FTP(pure-ftpd-1.0.43)

其中:get 为下载命令,put 为上传命令。

 

八、启动 pureFTPd 服务及开机启动  
#  /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf   
若要 pureFTPd 随系统启动,将命令加入到 /etc/rc.local 文件中,如下    
# echo “/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf” >> /etc/rc.local

 

pure-pw 命令的格式及功能介绍

pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]  
-D/-d <home directory> [-c <gecos>]    
[-t <download bandwidth>] [-T <upload bandwidth>]    
[-n <max number of files>] [-N <max Mbytes>]    
[-q <upload ratio>] [-Q <download ratio>]    
[-r <allow client host>[/<mask>][,…]    
[-R <deny client host>[/<mask>][,…]    
[-i <allow local host>[/<mask>][,…]    
[-I <deny local host>[/<mask>][,…]    
[-y <max number of concurrent sessions>]    
[-z <hhmm>-<hhmm>] [-m]

 

例如:    
pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe    
回车后提示输入两次密码    
使用 -d 参数指定一个用户的 home 目录后,该用户就被固定到这个目录了,其不能切换到上级目录如果要想让用户可以访问到别的目录,那么使用 - D 参数来指定 hone 目录。
如果 pureFTPd 的配置文件中指定了 CreateHomeDir yes 的话,/home/ftpusers/joe 目录是没有必要手动创建的。当用户首次登录时如果目录不存在程序会自动创建相应的目录。
使用 - z 参数可以指定用户只能在一天中的某个时间段可以登陆 ftp 服务器。例如 -z 0900-1800 那么 joe 只能在早上 9 点和下午 6 点这个时间段登陆。注意:如果设置登陆时间的用户已经通过验证登陆到 ftp 服务器上了,那么所做的登陆时间限制只能在他下次登陆验证的时候才能生效。
-r 与 -R 参数是约束用户从哪些 IP 登陆的。可以使用 IP/mask 的形式,如 -r 192.168.1.0/24 多个段用逗号隔开,如:-r 192.168.1.0/24,10.1.0.0/16,127.0.0.1/32。单独的 IP:-r 192.168.1.4,10.1.1.5 主机名:-r bla.bla.net,yopcitron.com。以及一些相兼容的格式。
-y 参数是限制同一时刻一个用户最多能发起多少个会话 (sessions)。”或 0 代表无限制。该选项可以降低系统负载。效果同配置文件中的 MaxClientsPerIP    
ok,现在用户“joe”已经创建成功了默认的虚拟用户列表文件存储在 安装目录的 /etc/ 目录下,可以使用 - f 参数指定文件的存储路径    
查看一下文件内容    
# cat /usr/local/pure-ftpd/etc/pureftpd.passwd    
joe:$1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/:501:501::/home/ftpusers/joe/./::::::::::::    
密码字段是经过加密的。

●更改用户信息    
虚拟用户创建之后,你也可以通过 pure-pw 命令来修改其相关的信息,如限制下载    
带宽、磁盘配额、用户全名、下载上传率等等    
例如:我要修改用户 joe 的最大文件数为 1000 个,大小为 10MB,命令如下:
# pure-pw usermod joe -n 1000 -N 10    
查看一下虚拟用户列表文件    
# cat /usr/local/pure-ftpd/etc/pureftpd.passwd    
joe:$1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/:501:501::/home/ftpusers/joe/./::::::1000:10485760:::::

●重置用户属性    
要禁用文件数配额,执行 pure-pw usermod -n”
要禁用文件大小配额,执行 pure-pw usermod -N”
要禁用上传 / 下载比率,执行 pure-pw usermod -q”-Q”
要禁用下载带宽限制,执行 pure-pw usermod -t”
要禁止上传带宽限制,执行 pure-pw usermod -T”
要禁止 IP 地址过滤,使用 pure-pw usermod <-i,-I,-r or -R>”
要禁止登陆时间限制,执行 pure-pw usermod -z”
要禁止最大并发数控制,执行 pure-pw usermod -y”

●删除用户    
使用 pure-pw userdel 命令可以删除一个已经存在的用户    
pure-pw userdel <login> [-f <passwd file>] [-m]    
如:pure-pw userdel joe    
用户 home 目录中的文件不会被删除,需要手动删除

●更改密码    
更改用户密码的命令    
# pure-pw passwd <login> [-f <passwd file>] [-m]

●利用 pure-pw 命令查看用户信息    
# pure-pw show joe

 

 

问题处理:

1、不能连接服务端

[root@localhost home]# lftp ftp_user1@192.168.222.200    
口令:    
lftp ftp_user1@192.168.222.200:~> ls     
`ls’ at 0 [重新连接前延时: 12]

出现连接不上,而服务端用 lftp ftp_user1@127.0.0.1 自己连接自己可以,可能服务器防火墙没有配置好,或者关闭防火墙后再试

systemctl stop firewalld.service

2、登陆后访问目录出现:pureftpd 530 Sorry, but I can’t trust you

不受信任,可能一个原因是访问的用户名的 ID 在 pure-ftpd.conf 文件中配置参数(MinUID    100  # 可以登陆 用户的最小 UID 限制)导致

先查用户 ID

[root@localhost data]# id ftp    
uid=14(ftp) gid=50(ftp) 组 =50(ftp)

然后

vim /usr/local/pureftpd/etc/pure-ftpd.conf

找到并如下修改

MinUID                      10 

PureFtp+PureAdmin: 实现基于虚拟账号的 FTP 服务器 http://www.linuxidc.com/Linux/2013-06/85728.htm

PureFtp+PureAdmin 安装配置 http://www.linuxidc.com/Linux/2014-06/103267.htm

Vsftpd 虚拟用户的配置及 PureFtp 配置解析 http://www.linuxidc.com/Linux/2012-12/76502.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/135971.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6506字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中