搭建常用服务pure-ftpd服务

1.安装pureftp

#cd  /usr/local/src/

#wget   https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2

2.安装pure-ftpd

#tar  -jxvf  pure-ftpd-1.0.42.tar.bz2

#cd  pure-ftpd-1.0.42

#./configure  --prefix=/usr/local/pure-ftpd  --without-inetd  --with-altlog  --with-puredb  --with-throttling  --with-peruserlimits  --with-tls

#echo $?

#make

#make install

3.配置pure-ftpd

#cd  configuration-file

#mkdir  -pv  /usr/local/pure-ftpd/etc

#cp   pure-ftpd.conf    /usr/local/pure-ftpd/etc/pure-ftpd.conf   //配置文件

#cp   pure-config.pl     /usr/local/pure-ftpd/sbin/pure-config.pl  //启动文件

#chmod   755   /usr/local/pure-ftpd/sbin/pure-config.pl  //修改权限

在启动pure-ftpd之前需要修改配置文件pure-ftpd.conf,

配置文件内容如下:

ChrootEveryone              yes

BrokenClientsCompatibility  no

MaxClientsNumber            50

MaxClientsCompatibility     50

Daemonize                   yes

MaxClientsPerIP             8

VerboseLog                  no

DisplayDotFiles             yes

AnonymousOnly               no

NoAnonymous                 no

SyslogFacility              ftp

DontResolve                 yes

MaxIdleTime                 15

PureDB                      /usr/local/pure-ftpd/etc/pureftpd.pdb

LimitRecursion              3136.8

AnonymousCanCreateDirs      no

MaxLoad                     4

AntiWarez                   yes

Umask                       133:022

MinUID                      100

AllowUserFXP                no

AllowAnonymousFXP           no

ProhibitDotFilesWrite       no

ProhibitDotFilesRead        no

AutoRename                  no

AnonymousCantUpload         no

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

MaxDiskUsage                99

CustomerProof               yes

配置千万不要弄错了,我之前自己打进去的,所以出现一些错字,把pdb文件写成了conf文件,所以一直连接不上,所以不要粗心哦

4.启动pure-ftpd

#cd  /usr/local/pure-ftpd/

#./sbin/pure-config.pl     ./etc/pure-ftpd.conf

启动成功会显示下面信息:

Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.conf -m4 -s -U133:022 -u100 -g/usr/local/pure-ftpd/var/run/pure-ftpd.pid -k99 -Z

重启:killall pure-ftpd

/usr/local/pure-ftpd/sbin/pure-config.pl    /usr/local/pure-ftpd/etc/pure-ftpd.conf

也可以自己定义PATH环境变量,在/etc/profile.d/path.sh文件中定义:

[[email protected] ~]# pure-config.pl  /usr/local/pure-ftpd/etc/pure-ftpd.conf

Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.conf -m4 -s -U133:022 -u100 -g/usr/local/pure-ftpd/var/run/pure-ftpd.pid -k99 -Z

5.建立账号

pure-ftpd使用的账号并非Linux系统账号,而是虚拟账号,因为这样做比较安全

#mkdir  /jin/www

#useradd   www       //创建用户www

#chown  -R  www:www   /jin/www/    //修改用户属主和属组

#usr/local/pure-ftpd/bin/pure-pw   useradd  ftp_user1  -uwww  -d  /jin/www/

(添加用户命令:pure-pw

登录FTP的用户:ftp_user1

-u指定的用户为:系统用户

-d后面的目录为:ftp_user1账户的家目录,ftp_user1只能访问其家目录/jin/www/)

#/usr/local/pure-ftpd/bin/pure-pw  mkdb  //创建用户信息数据库文件

#/usr/local/pure-ftpd/bin/pure-pw  list  //列出当前的ftp账号

#/usr/local/pure-ftpd/bin/pure-pw   userdel  ftp_user1   //删除账号

6.测试pure-ftpd

远程连接测试(用另一台机器做测试):

服务端ip(本机)为192.168.226.3

客户端ip(远程)为192.168.226.5

在客户端机器中,测试需要使用到的工具是:lftp

安装lftp:yum  install  -y   lftp

测试:lftp  [email protected]192.168.226.3

查看日志:cat  /var/log/messages

查看lftp中的命令:?

下载文件到当前目录:get  11.txt

在客户端中创建文件,上传到服务端中:

客户端:

服务端:

问题1:

这时候如果登录ftp会提示

421 Unable to read the indexed puredb file (or old format detected) - Try pure-pw mkdb

执行

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

再登录,一切正常。执行这条命令是让pureftpd根据/usr/loca/pureftpd/etc/pureftpd.passwd(这个文件是在执行pure-pw useradd的时候自动生成的)生成/usr/local/pureftpd/etc/pureftpd.pdb

到这里服务器已经可以正常运行了

再用pure-pw useradd添加另一个ftp帐号登录,又提示“验证失败”,重启pureftpd也不行,郁闷了好一会后找到原因:

执行pure-pw的命令后只是更改了pureftpd.passwd文件,必须执行pure-pw mkdb重新生成pureftpd.pdb才生效。

我说在刚接手的服务器上添加帐号不行呢,就是因为没有执行pure-pw mkdb

如果出现错误,登录不上,应该先去查看一下日志文件,看是什么错误: cat  /var/log/messages

问题2:

我用两台虚拟机做实验,

服务端:一台搭建了pure-ftpd(192.168.226.4)服务,

客户端:另一台没有搭建(192.168.226.6)该服务,

(1)在搭建了pure-ftpd服务的那台虚拟机中,配置完配置文件后启动

(2)没搭建pure-ftpd服务的那台虚拟机用于连接,连接需要用到的工具为lftp,如果没有yum安装一下,在该台虚拟机上连接,lftp  [email protected]

进入之后,ls一下,一直说连接不上,那是什么问题呢?

故障检查:

1.首先我在服务端中,查看cat  /var/log/messages日志文件,看提示什么错误,不知道是什么问题,该日志中没有pure-ftpd的日志(后面才知道)

2.检查日志文件无果之后,我就去检查配置文件有没有配置错误,一个一个的检查,不过我重点检查的是.pdb文件有没有生成,还有.pid文件有没有生成

3.查看了配置文件之后,我就在命令行上输入

cat  /usr/local/pure-ftpd/etc/pureftpd.pdb  如果有,那就没事

cat  /usr/local/pure-ftpd/var/run/pure-ftpd.pid  //回车之后说命令找不到,那么就是没有这个文件啦,终于找到问题所在了,那么该如何去解决这个问题呢?

解决方法:我的方法就是直接创建/usr/local/pure-ftpd/var/run/pure-ftpd.pid

本来是没有var目录和run目录的,所以你也要先创建目录

4.重启pure-ftpd服务

killall   pure-ftpd   //先杀死

/usr/local/pure-ftpd/sbin/pure-config.pl   /usr/local/pure-ftpd/etc/pure-ftpd.conf  //启动

5.在客户端上测试

测试发现,还是有错

6.查看日志cat  /var/log/messages

发现错误之后,查看日志,之前是没有pure-ftpd的日志的,因为没有生成pid文件,所以没有日志。

现在查看日志,cat    /var/log/messages,出来pure-ftpd的日志了,错误信息如下:

Dec 25 17:38:58 localhost pure-ftpd: ([email protected]?) [ERROR] Unable to start a standalone server: [Address already in use]

Dec 25 17:41:08 localhost kernel: eth0: link down

Dec 25 17:41:20 localhost kernel: eth0: link up

Dec 25 17:41:34 localhost kernel: eth0: link down

Dec 25 17:41:44 localhost kernel: eth0: link up

Dec 25 17:46:20 localhost kernel: eth0: link down

Dec 25 17:46:30 localhost kernel: eth0: link up

发现这些信息之后,就开始排查了,上网查没查到,之后就自己去尝试,它说eth0有问题,又说地址被占用,那么我想可能是网络的问题,于是我就在服务端和客户端各输入ifconfig,得到如下信息:

服务端:

[[email protected] pure-ftpd]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:E4:CC:70

inet addr:192.168.226.4  Bcast:192.168.226.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fee4:cc70/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:7030 errors:0 dropped:0 overruns:0 frame:0

TX packets:5759 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1163332 (1.1 MiB)  TX bytes:1440044 (1.3 MiB)

Interrupt:19 Base address:0x2000

客户端:

[[email protected] opt]# ifconfig

eth1      Link encap:Ethernet  HWaddr 00:0C:29:7B:C6:51

inet addr:192.168.226.6  Bcast:192.168.226.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe7b:c651/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:3488 errors:0 dropped:0 overruns:0 frame:0

TX packets:2810 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1079817 (1.0 MiB)  TX bytes:363778 (355.2 KiB)

Interrupt:19 Base address:0x2000

发现问题所在了,客户端这边的网卡显示的是eth1,那么和这个到底有没有关系呢?

于是,我又再开了一台虚拟机,去连接服务端的pure-ftpd,果然是这个问题,在这台虚拟机上显示的网卡为eth0,所以,我觉得应该是网卡不匹配的原因,到此问题解决啦。

新开那台虚拟机:

[[email protected] ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:A4:00:54

inet addr:192.168.226.3  Bcast:192.168.226.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fea4:54/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:39 errors:0 dropped:0 overruns:0 frame:0

TX packets:51 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:5374 (5.2 KiB)  TX bytes:6162 (6.0 KiB)

Interrupt:19 Base address:0x2000

时间: 2024-08-01 22:45:28

搭建常用服务pure-ftpd服务的相关文章

centos7服务搭建常用服务配置之一:SSH

目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 ssh知识要点 2.ssh服务软件详细说明 2.1 ssh服务软件安装 2.2 openssh-clients软件的主要内容 2.3 openssh-server软件的主要内容 2.4 启动sshd服务 2.5 ssh服务配置文件说明 2.5.1 ssh服务的配置文件路径 2.5.3 配置文件语法检查

centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步

目录 1.RSYNC数据备份 1.1 rsync服务简介 1.2 rsync特点和优势 1.3 rysnc运行模式简介 1.4 数据同步方式 2 Rsync实验测试 2.1 实验环境说明 2.2 服务安装 2.3 Rsync命令详解 2.3 实验一使用rsync命令备份数据 2.4 实验二使用rsyncd服务进行数据备份 3.Rsync+sersync实现数据实时同步 3.1 rsync+sersync架构作用 3.2 rsync+inotify-tools与rsync+sersync架构的区别

搭建websocket消息推送服务,必须要考虑的几个问题

近年,不论是正在快速增长的直播,远程教育以及IM聊天场景,还是在常规企业级系统中用到的系统提醒,对websocket的需求越来越大,对websocket的要求也越来越高.从早期对websocket的应用仅限于少部分功能和IM等特殊场景,逐步发展为追求支持高并发,百万.千万级每秒通讯的高可用websocket服务. 面对各种新场景对websocket功能和性能越来越高的需求,不同的团队有不同的选择,有的直接使用由专业团队开发的成熟稳定的第三方websocket服务,有些则选择自建websocket

用FreeBSD10搭建基于ZFS的iSCSI服务

概述 对于ZFS我是一直在强烈推荐的,因为实在太好用了.但是直到现在,它还是只能运行于Oracle的Solaris和FreeBSD两个系统上,为了将它分享给别的系统只能通过NAS或SAN的方式. NAS的方式很简单,我一直在用Samba实现,当然NFS也是可以的,SAN的话之前还没试过.使用上当然是SAN更好一些,而且现在网速也够快.虽然对于存储来说,NAS和SAN都是外部存储,但对于客户机来说,它知道NAS是网络设备,而SAN则会被视同本地设备,这是二者的主要区别.之所以会这样,是因为NAS走

《搭建更新DNS集群服务》RHEL6

DNS服务器的更新: 一听就知道不止一台的DNS服务器,要是一台也用不着更新对吧?一般都是DNS集群. 一台DNS更新了,添加一条数据,下面的都要跟着它变. 主DNS服务器的配置 首先先配置DNS服务器信息同步,后面再配置更新DNS服务器: 1.  前面很简单: 安装bind软件包.修改named服务配置文件; Vim /etc/named.conf 2修改zone语句: also-notify     定义一个用于全局的域名服务器IP地址列表.无论何时,当一个新的域文件被调入系统,域名服务器都

搭建nfs共享存储服务之一nfs服务端搭建

NFS相当于房源,RPC相当于中介. nfs-utils:  NFS服务的主程序,包括rpc.nfsd.rpc.mountd这两个daemon和相关文件说明,以及执行命令文件等. rpcbind:  centos6.x下面RPC的主程序.NFS可以视为一个RPC程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作,这个映射工作就是由rpcbind服务来完成的.因此,在提供NFS服务之前必须先启动rpcbind服务才行. 1.查看NFS软件包 : 可使用如下命令查看默认情况下cen

阿里云搭建配置自己的ngrok服务

一直在使用sunny提供的免费的ngrok服务,由于昨天不知是不是服务器down的原因,一直连接不上,导致手中微信开发的工作无法很好的开展.遂有了再次尝试自己搭建一个ngrok服务(曾经有过几个小时的研究和尝试,没有成功).在N小时的尝试之后,最终修成正果,成功搭建属于自己的ngrok服务! (其实还有一些问题没有确认,但是暂时不深入研究了,有兴趣的可以深入) 准备工作: 一台外网服务器,一个域名. 我的环境: 阿里云Centos6.5,二级域名ngrok.***.cn泛解析. Go环境 1 #

(转)ubuntu 12.04搭建Adobe Flash Media Server服务

破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./installFMS 缺少libcap动态库 A required package, libcap, was not found on your Linux x86_64 Debian. sudo apt-get install libcap-dev 获得动态库 安装完后运行./installFMS ,还

h5牛牛平台搭建中小型棋牌类网络游戏服务端架构

h5牛牛平台搭建相关教程:http://h5.mostsheng.com 相关联系方式:QQ1279829431电联17061863554 用Golang实现基础架构逻辑后,准备再次谈谈我的想法. 已实现的逻辑与前文描述有几点不同: 1. Gateway更名为Proxy,DBProxy更名为DB 2. Proxy同时持有与(Login, Game)不同类型服务器的多条连接 3. DB不参与负载均衡,考虑是棋牌数据库负载不高,即使需要扩展多个也可以通过不同服务器配置指向不同的DB来扩展 4. 消息

从零开始搭建系统3.3——图片服务开发及部署

从零开始搭建系统3.3--图片服务开发及部署 原文地址:https://www.cnblogs.com/provence666/p/8638594.html