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

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

419次阅读
没有评论

共计 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、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7994578
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...